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
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
Topic:{"Type":"Get","Target":"RenderMachine1-Daemon","Name":"Role"}
Message:{"Value":{}}
JSON
Response
Topic: {
"Type": "Update",
"Source": "RenderMachine1-Daemon",
"Name": "Role"
}
Message: {
"Value": {
"Role": "CLIENT",
"HasSelectedRole": true,
"IPAddress": "20.11.36.52"
}
}
JSON
Example - Set
Set
Topic:{"Type":"Set","Target":"RenderMachine1-Daemon","Name":"Role"}
Message:{"Value":{"Role":"STAND_ALONE"}}
JSON
Response
Topic: {
"Type": "Update",
"Source": "RenderMachine1-Daemon",
"Name": "Role"
}
Message: {
"Value": {
"Role": "STAND_ALONE",
"HasSelectedRole": true
}
}
JSON
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
Topic:{"Type":"Get","Target":"RenderMachine1-Daemon","Name":"MetaInfo"}
Message:{"Value":{}}
JSON
Response
Topic: {
"Type": "Update",
"Source": "RenderMachine1-Daemon",
"Name": "MetaInfo"
}
Message: {
"Value": {
"Name": "RenderMachine1",
"License": "Live",
"IPAddress": "192.123.224.21",
"Host": "RenderMachine1"
}
}
JSON
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
Topic:{"Type":"Get","Target":"RenderMachine1-Daemon","Name":"Paths"}
Message:{"Value":{}}
JSON
Response
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"
}
}
JSON
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
Topic:{"Type":"Get","Target":"RenderMachine1-Daemon","Name":"NetworkAdapters"}
Message:{"Value":{}}
JSON
Response
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"
}
]
}
JSON
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
Topic:{"Type":"Get","Target":"RenderMachine1-Daemon","Name":"ActiveAdapter"}
Message:{"Value":{}}
JSON
Response
Topic: {
"Type": "Update",
"Source": "RenderMachine1-Daemon",
"Name": "ActiveAdapter"
}
Message: {
"Value": {
"Name": "vEthernet (Default Switch)",
"Address": "192.123.224.21",
"Netmask": "255.255.240.0"
}
}
JSON
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
Topic:{"Type":"Get","Target":"RenderMachine1-Daemon","Name":"SetupControlMode"}
Message:{"Value":{}}
JSON
Response
Topic: {
"Type": "Update",
"Source": "RenderMachine1-Daemon",
"Name": "SetupControlMode"
}
Message: {
"Value": {
"Mode": "SHOW_MINE_GREY_OTHERS"
}
}
JSON
Example - Set
Set
Topic:{"Type":"Set","Target":"RenderMachine1-Daemon","Name":"SetupControlMode"}
Message:{"Value":{"Mode":"SHOW_ALL"}}
JSON
Response
Topic: {
"Type": "Update",
"Target": "BROADCAST",
"Source": "RenderMachine1-Daemon",
"Name": "SetupControlMode"
}
Message: {
"Value": {
"Mode": "SHOW_ALL"
}
}
JSON
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
{
id: number;
label: string;
camera_name: string;
width: string;
height: string;
}
TYPESCRIPT
|
Example - Get
Get
Topic:{"Type":"Get","Target":"RenderMachine1-Daemon","Name":"CameraTypes"}
Message:{"Value":{}}
JSON
Response
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"
},
...
]
}
JSON
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
Topic:{"Type":"Get","Target":"RenderMachine1-Daemon","Name":"FavouriteShows"}
Message:{"Value":{}}
JSON
Response
Topic: {
"Type": "Update",
"Target": "BROADCAST",
"Source": "RenderMachine1-Daemon",
"Name": "FavouriteShows"
}
Message: {
"Value": {
"Shows": [],
"Levels": [
"Show1",
"Show1",
"Show1"
],
"FavoritesFilter": false,
"FavoritesLevelFilter": false
}
}
JSON
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
Topic:{"Type":"Call","Target":"RenderMachine1-Daemon","Method":"StartService"}
Message:{"Params":{"Name":"PX_VideoIO"}}
JSON
Response
Topic: {
"Type": "CallResult",
"ExecutedOn": "RenderMachine1-Daemon",
"Method": "StartService"
}
Message: {
"Result": {
"Success": false
}
}
JSON
StopService
Stops a specific service.
Parameters
Name | STRING | Name of the service to start (not concatenated with computerName) |
Example
Call
Topic:{"Type":"Call","Target":"RenderMachine1-Daemon","Method":"StopService"}
Message:{"Params":{"Name":"PX_VideoIO"}}
JSON
Response
Topic: {
"Type": "CallResult",
"ExecutedOn": "RenderMachine1-Daemon",
"Method": "StopService"
}
Message: {
"Result": {
"Success": true
}
}
JSON
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
Topic:{"Type":"Call","Target":"RenderMachine1-Daemon","Method":"RestartService"}
Message:{"Params":{"Name":"PX_VideoIO"}}
JSON
Response
Topic: {
"Type": "CallResult",
"ExecutedOn": "RenderMachine1-Daemon",
"Method": "RestartService"
}
Message: {
"Result": {
"Success": false
}
}
JSON
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
Topic:{"Type":"Call","Target":"RenderMachine1-Daemon","Method":"ToggleFavorite"}
Message:{"Params":{"Name":"Show1","Add":true,"Levels":false}}
JSON
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
Topic:{"Type":"Call","Target":"RenderMachine1-Daemon","Method":"ToggleFavoriteFilter"}
Message:{"Params":{"Levels":false}}
JSON
ResetRole
Resets the role of this machine to its initial state.
Example
Call
Topic:{"Type":"Call","Target":"RenderMachine1-Daemon","Method":"ResetRole"}
Message:{"Params":{}}
JSON
Response
Topic: {
"Type": "CallResult",
"ExecutedOn": "RenderMachine1-Daemon",
"Method": "ResetRole"
}
Message: {
"Value": {
"Role": "STAND_ALONE",
"HasSelectedRole": false
}
}
JSON
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
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
Response - failure
Example
Call
Topic:{"Type":"Call","Target":"RenderMachine1-Daemon","Method":"CopyShowFileToLocal"}
Message:{"Params":{"ShowName":"Show1"}}
JSON
Response
Topic: {
"Type": "CallResult",
"ExecutedOn": "RenderMachine1-Daemon",
"Method": "CopyShowFileToLocal"
}
Message: {
"Result": {
"Success": true
}
}
JSON
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
Topic:{"Type":"Call","Target":"RenderMachine1-Daemon","Method":"AddCameraType"}
Message:{"Params":{"id":4242,"label":"SquareCam","camera_name":"SquareCam","width":"42","height":"42"}}
JSON
Response
Topic: {
"Type": "Update",
"Target": "BROADCAST",
"Source": "RenderMachine1-Daemon",
"Name": "CameraTypes"
}
Message: {
"Value": [
...
{
"id": 4242,
"label": "SquareCam",
"camera_name": "SquareCam",
"width": "42",
"height": "42"
},
...
]
}
JSON