Skip to main content
Skip table of contents

Pixotope Daemon - API

Description

Pixotope Daemon is the first Pixotope Service that starts on a machine during normal use. It is responsible for starting all other services.

List of responsibilities

  • Storing information about if it should start with Windows and which services to run at start

    • Starting the services

  • Storing commands that are passed to services when starting

  • Storing information about machine/user role

  • Storing information if director is going to start with daemon/windows

  • Retrieving active network adapter name and ip

Name

[MachineName]-Daemon for example "RenderMachine1-Daemon"

State

Daemon does not have a "per show" state.

Non-state values

Daemon is using its own persistent data which is stored separately from the show file.
[Installation folder]/Local storage/MachineSettings.json

Use Get/Set for these values.

Role

Get or Set the role of a machine.

Parameters

Role

STRING

"STAND-ALONE" | "SERVER" | "CLIENT"

IPAddress

STRING OPTIONAL

set a specific IP address (for the client role)

Response

Role

STRING

"STAND-ALONE" | "SERVER"

HasSelectedRole

BOOLEAN

OR

Role

STRING

"CLIENT"

HasSelectedRole

BOOLEAN

IPAddress

STRING

set a specific IP address (for the client role)

Example - Get
Get
JSON
Topic:{"Type":"Get","Target":"RenderMachine1-Daemon","Name":"Role"}
Message:{"Value":{}}

Response

JSON
Topic: {
    "Type": "Update",
    "Source": "RenderMachine1-Daemon",
    "Name": "Role"
}
Message: {
    "Value": {
        "Role": "CLIENT",
        "HasSelectedRole": true,
        "IPAddress": "20.11.36.52"
    }
}
Example - Set
Set
JSON
Topic:{"Type":"Set","Target":"RenderMachine1-Daemon","Name":"Role"}
Message:{"Value":{"Role":"STAND_ALONE"}}

Response

JSON
Topic: {
    "Type": "Update",
    "Source": "RenderMachine1-Daemon",
    "Name": "Role"
}
Message: {
    "Value": {
        "Role": "STAND_ALONE",
        "HasSelectedRole": true
    }
}

MetaInfo

Get meta information about a machine including machine name, machine role, machine IP address and Hostname

Response

Name

STRING

Machine name

License

STRING

"Live" | "Artist" | "Control"

IPAddress

STRING

Host

STRING

Example - Get
Get
JSON
Topic:{"Type":"Get","Target":"RenderMachine1-Daemon","Name":"MetaInfo"}
Message:{"Value":{}}

Response

JSON
Topic: {
    "Type": "Update",
    "Source": "RenderMachine1-Daemon",
    "Name": "MetaInfo"
}
Message: {
    "Value": {
        "Name": "RenderMachine1",
        "License": "Live",
        "IPAddress": "192.123.224.21",
        "Host": "RenderMachine1"
    }
}

Paths

Get information about paths from services, installation folder, store database folder etc

Response

InstallationDirectory

STRING

C:\Pixotope Technologies\Pixotope\[version number]-[build number] - default

DocumentsDirectory

STRING

C:\Users\[User name]\Documents

EngineDirectory

STRING

[Installation folder]\Pixotope Engine\Engine\Binaries\Win64

LocalStorageDirectory

STRING

[Installation folder]\Local Storage

LocalShowsDirectory

STRING

[Installation folder]\Local Storage\Show Files

VsTemplateDirectory

STRING

[Installation folder]\Pixotope Engine\Templates\TP_PixotopeVS\TP_PixotopeVS.uproject

ArTemplateDirectory

STRING

[Installation folder]\Pixotope Engine\Templates\TP_PixotopeVS\TP_PixotopeAR.uproject

Example - Get
Get
JSON
Topic:{"Type":"Get","Target":"RenderMachine1-Daemon","Name":"Paths"}
Message:{"Value":{}}

Response

JSON
Topic: {
    "Type": "Update",
    "Source": "RenderMachine1-Daemon",
    "Name": "Paths"
}
Message: {
    "Value": {
        "InstallDirectory": "C:\\Pixotope Technologies\\Pixotope\\2.0.0-474",
        "DocumentsDirectory": "C:\\Users\\User\\Documents",
        "EngineDirectory": "C:\\Pixotope Technologies\\Pixotope\\2.0.0-474\\Pixotope Engine\\Engine\\Binaries\\Win64",
        "LocalStorageDirectory": "C:\\Pixotope Technologies\\Pixotope\\2.0.0-474\\Local Storage",
        "LocalShowsDirectory": "C:\\Pixotope Technologies\\Pixotope\\2.0.0-474\\Local Storage\\Show Files",
        "VsTemplateDirectory": "C:\\Pixotope Technologies\\Pixotope\\2.0.0-474\\Pixotope Engine\\Templates\\TP_PixotopeVS\\TP_PixotopeVS.uproject",
        "ArTemplateDirectory": "C:\\Pixotope Technologies\\Pixotope\\2.0.0-474\\Pixotope Engine\\Templates\\TP_PixotopeAR\\TP_PixotopeAR.uproject"
    }
}

NetworkAdapters

Get all network adapters on a computer that have an IP address.

Response

Name

STRING

Name of the network adapter

Address

STRING

IP address

Netmask

STRING

Example - Get
Get
JSON
Topic:{"Type":"Get","Target":"RenderMachine1-Daemon","Name":"NetworkAdapters"}
Message:{"Value":{}}

Response

JSON
Topic: {
    "Type": "Update",
    "Source": "RenderMachine1-Daemon",
    "Name": "NetworkAdapters"
}
Message: {
    "Value": [
        {
            "Name": "vEthernet (Default Switch)",
            "Address": "192.123.224.21",
            "Netmask": "255.255.240.0"
        },
        {
            "Name": "vEthernet (New Virtual Switch)",
            "Address": "192.168.137.1",
            "Netmask": "255.255.255.0"
        },
        {
            "Name": "Ethernet 2",
            "Address": "29.41.30.93",
            "Netmask": "255.255.255.0"
        }
    ]
}

ActiveAdapter

Get or Set the active network adapter that is connected to the router or other network machines.

Parameters

Name

STRING

Name of the network adapter

Address

STRING

IP address

Response

Name

STRING

Name of the network adapter

Address

STRING

IP address

Netmask

STRING

Example - Get
Get
JSON
Topic:{"Type":"Get","Target":"RenderMachine1-Daemon","Name":"ActiveAdapter"}
Message:{"Value":{}}

Response

JSON
Topic: {
    "Type": "Update",
    "Source": "RenderMachine1-Daemon",
    "Name": "ActiveAdapter"
}
Message: {
    "Value": {
        "Name": "vEthernet (Default Switch)",
        "Address": "192.123.224.21",
        "Netmask": "255.255.240.0"
    }
}

SetupControlMode

Get or Set the SETUP view permissions for this machine (for client and server role).

Parameters

Mode

STRING

"SHOW_ALL" | "SHOW_MINE_GREY_OTHERS" | "SHOW_MINE"

Response

Mode

STRING

"SHOW_ALL" | "SHOW_MINE_GREY_OTHERS" | "SHOW_MINE"

Example - Get
Get
JSON
Topic:{"Type":"Get","Target":"RenderMachine1-Daemon","Name":"SetupControlMode"}
Message:{"Value":{}}

Response

JSON
Topic: {
    "Type": "Update",
    "Source": "RenderMachine1-Daemon",
    "Name": "SetupControlMode"
}
Message: {
    "Value": {
        "Mode": "SHOW_MINE_GREY_OTHERS"
    }
}
Example - Set
Set
JSON
Topic:{"Type":"Set","Target":"RenderMachine1-Daemon","Name":"SetupControlMode"}
Message:{"Value":{"Mode":"SHOW_ALL"}}

Response

JSON
Topic: {
    "Type": "Update",
    "Target": "BROADCAST",
    "Source": "RenderMachine1-Daemon",
    "Name": "SetupControlMode"
}
Message: {
    "Value": {
        "Mode": "SHOW_ALL"
    }
}

ProductionControlMode

Get or Set the PRODUCTION view permissions for this machine (for stand-alone role).

Parameters

Active

BOOLEAN

Active

IPAddress

STRING OPTIONAL

IP address to connect to

Response

Active

BOOLEAN

Active

IPAddress

STRING OPTIONAL

IP address to connect to

CameraTypes

Get all camera types stored in [Installation folder]/Local storage/CameraTypes.json

Use AddCameraType to add to this list

Response

OBJECT ARRAY

Array of camera type objects

TYPESCRIPT
{
  id: number;
  label: string;
  camera_name: string;
  width: string;
  height: string;
}
Example - Get
Get
JSON
Topic:{"Type":"Get","Target":"RenderMachine1-Daemon","Name":"CameraTypes"}
Message:{"Value":{}}

Response

JSON
Topic: {
    "Type": "Update",
    "Source": "RenderMachine1-Daemon",
    "Name": "CameraTypes"
}
Message: {
    "Value": [
        {
            "id": 0,
            "label": "2/3inch - 16:9",
            "camera_name": "2/3inch - 16:9",
            "width": "9.59",
            "height": "5.39"
        },
        ...
    ]
}

FavouriteShows

Get information about favourite shows, levels and its filter state.

Response

Shows

STRING ARRAY

Favorite shows

Levels

STRING ARRAY

Favorite levels

FavoritesFilter

BOOLEAN

State of the favorites filter for shows

FavoritesLevelsFilter

BOOLEAN

State of the favorites filter for levels

Example - Get
Get
JSON
Topic:{"Type":"Get","Target":"RenderMachine1-Daemon","Name":"FavouriteShows"}
Message:{"Value":{}}

Response

JSON
Topic: {
    "Type": "Update",
    "Target": "BROADCAST",
    "Source": "RenderMachine1-Daemon",
    "Name": "FavouriteShows"
}
Message: {
    "Value": {
        "Shows": [],
        "Levels": [
            "Show1",
            "Show1",
            "Show1"
        ],
        "FavoritesFilter": false,
        "FavoritesLevelFilter": false
    }
}

CustomDirector (not in use yet)

Get or Set the friendly computer name and color for this machine.

Parameters

Name

STRING

Name

Color

STRING

Color

Response

Name

STRING

Name

Color

STRING

Color

RPC

StartService

Starts a specific service.

Parameters

Name

STRING

Name of the service to start (not concatenated with the computerName)

Available names: "PX_Daemon" | "PX_Datahub" | "PX_Gateway" | "PX_Bridge" | "PX_DirectorAPI" | "PX_VideoIO" | "PX_Tracking" | "PX_Store" | "Director" | "UE4Editor"

Value

ANY OPTIONAL

Service specific parameters

Response

Result

OBJECT

{"Type":"CallResult","ExecutedOn":"[serviceName]","Method":"StartService"}

Message

OBJECT

{"Result":{"Success":boolean}} || {"Failure":string}

Example
Call
JSON
Topic:{"Type":"Call","Target":"RenderMachine1-Daemon","Method":"StartService"}
Message:{"Params":{"Name":"PX_VideoIO"}}
Response
JSON
Topic: {
    "Type": "CallResult",
    "ExecutedOn": "RenderMachine1-Daemon",
    "Method": "StartService"
}
Message: {
    "Result": {
        "Success": false
    }
}

StopService

Stops a specific service.

Parameters

Name

STRING

Name of the service to start (not concatenated with computerName)

Example
Call
JSON
Topic:{"Type":"Call","Target":"RenderMachine1-Daemon","Method":"StopService"}
Message:{"Params":{"Name":"PX_VideoIO"}}
Response
JSON
Topic: {
    "Type": "CallResult",
    "ExecutedOn": "RenderMachine1-Daemon",
    "Method": "StopService"
}
Message: {
    "Result": {
        "Success": true
    }
}

RestartService

Restarts a specific service.

Parameters

Name

STRING

Name of the service to start (not concatenated with computerName)

Value

ANY OPTIONAL

Service specific parameters

Example
Call
JSON
Topic:{"Type":"Call","Target":"RenderMachine1-Daemon","Method":"RestartService"}
Message:{"Params":{"Name":"PX_VideoIO"}}
Response
JSON
Topic: {
    "Type": "CallResult",
    "ExecutedOn": "RenderMachine1-Daemon",
    "Method": "RestartService"
}
Message: {
    "Result": {
        "Success": false
    }
}

ToggleFavorite

Either adds or removes show or level from the favorite shows or levels array (see Get FavouriteShows).

Parameters

Name

STRING

Name of the show/level to add/remove

Add

BOOLEAN

true if it should be added instead of removed

Levels

BOOLEAN

true if the provided name is a level instead of a show

Example
Call
JSON
Topic:{"Type":"Call","Target":"RenderMachine1-Daemon","Method":"ToggleFavorite"}
Message:{"Params":{"Name":"Show1","Add":true,"Levels":false}}

ToggleFavoriteFilter

Toggles filter boolean for favorites shows or levels in database.

Parameters

Levels

BOOLEAN

true if it toggles the favorite filter for levels instead of shows

Example
Call
JSON
Topic:{"Type":"Call","Target":"RenderMachine1-Daemon","Method":"ToggleFavoriteFilter"}
Message:{"Params":{"Levels":false}}

ResetRole

Resets the role of this machine to its initial state.

Example
Call
JSON
Topic:{"Type":"Call","Target":"RenderMachine1-Daemon","Method":"ResetRole"}
Message:{"Params":{}}
Response
JSON
Topic: {
    "Type": "CallResult",
    "ExecutedOn": "RenderMachine1-Daemon",
    "Method": "ResetRole"
}
Message: {
    "Value": {
        "Role": "STAND_ALONE",
        "HasSelectedRole": false
    }
}

DisconnectServer

Called on a machine connected to a server machine, when the server changes its role. This will change the role of the client to stand-alone and will disable production mode (Permissions - affecting SETUP or PRODUCTION).

Sends an Update message named "ServerChangedRole" to Director that role has been updated.

Response

Role

STRING

"STAND_ALONE"

CopyShowFileToLocal

Copies a specific show file from the server machine to this machine (client).

Parameters

ShowName

STRING

Name of the show to copy

Response - success

Success

BOOLEAN

true

Response - failure

Failure

STRING

Example
Call
JSON
Topic:{"Type":"Call","Target":"RenderMachine1-Daemon","Method":"CopyShowFileToLocal"}
Message:{"Params":{"ShowName":"Show1"}}
Response
JSON
Topic: {
    "Type": "CallResult",
    "ExecutedOn": "RenderMachine1-Daemon",
    "Method": "CopyShowFileToLocal"
}
Message: {
    "Result": {
        "Success": true
    }
}

AddCameraType

Adds a provided camera type to the existing array of types and stores it in [Installation folder]/Local storage/CameraTypes.json

Parameters

id

NUMBER

Unique Id

label

STRING

Display name of camera

camera_name

STRING

Name of camera

width

STRING

Width of backplate in mm

height

STRING

Height of backplate in mm

Example
Call
JSON
Topic:{"Type":"Call","Target":"RenderMachine1-Daemon","Method":"AddCameraType"}
Message:{"Params":{"id":4242,"label":"SquareCam","camera_name":"SquareCam","width":"42","height":"42"}}

Response

JSON
Topic: {
    "Type": "Update",
    "Target": "BROADCAST",
    "Source": "RenderMachine1-Daemon",
    "Name": "CameraTypes"
}
Message: {
    "Value": [
        ...
        {
            "id": 4242,
            "label": "SquareCam",
            "camera_name": "SquareCam",
            "width": "42",
            "height": "42"
        },
        ...
    ]
}

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.