Skip to main content
Skip table of contents

Replicate any Pixotope functionality - API Log

The API Log panel lists all occurring API messages of the Pixotope network. You can

  • listen to and read values from them

  • (re-)trigger them

This is an advanced feature. Use with caution!

Make a backup of your show file before changing show file parameters through the control panel! Also check Automatic backups

Screenshot 2024-09-27 at 14.29.12.png

Find the API call to replicate or read from

Find the right message

In a Pixotope network there is continuous message traffic, which might make it harder to find the correct message. Filtering on the correct message type will help.

  1. Select one or more message type filters

  2. Trigger an action, in Director for example, which you would like to replicate or read from

    • The incoming messages are grouped by Target and Name

      Screenshot 2024-05-29 at 15.17.43.png

Here some options on how to deal with a lot of messages:

  • Click the Pause button to stop listening

  • Change how many message to Keep within a group

  • Choose to listen to less data types using the Data Type filter

Main message types

Type

Details

Used to

Get

Get a state or non-state value from any service

Get value

Set

Request a change of a state or non-state value of any service

Set value

Update

Returned

  • on a Get request

  • when state or non-state variables change

Get continuous updates

Call

Service specific black box RPC function call

Trigger action

CallResult

CallResult - Response to a Call

Get resulting value

Learn more about their details and other message types in Pixotope API - Message Scheme

Double clicking a message in the API Log copies it to the clipboard. Depending on which one you double click, it copies either only the Topic, the Message or both.

Add a widget using this action

  1. Click and drag the red circle onto the canvas

  2. Select a widget based on if you are

    • reading a value

    • OR setting a value/triggering an action

Suggested widgets based on message type

Type

Default action

Main widgets

Get, Update, Call Result

Read (Get value)

  • Multiline text

  • Text

  • Number

Set, Call

Send (Set value/Trigger action)

  • Trigger button

  • Toggle (use ON/OFF click trigger)

  • Tab (use Tab click trigger)

You can change to Send or Read (default action) using the Trigger toggle next to the action.

Update Send action

  1. Click on the action in the action list to open the Code Editor

  2. Change the Topic and Message to fit your needs

    • The messages are in a JSON format

Learn more about the Pixotope API - Message Scheme

Update Read action

Message results come in a JSON format. To only get a specific property use the dot notation.

Learn more about → Property accessors in Javascript

  1. Click on the action in the action list to open the Code Editor

  2. Change the Return property path to retrieve a specific value

Example

JSON
{
  "Value": {
    "TJCGWS010-Engine": {
      "FPS": 59.99781,
      "TargetFPS": 59.9,
      "SyncInfo": {
        "IsInSyncMode": true,
        "CurrentTimecode": "00:00:00:00",
        "CurrentFrame": 0,
        "RawTimecodes": [
          "00:00:13:29",
          "00:02:00:00"
        ]
      }
    }
  }
}

Return property

Returns

Return single value

Value.TJCGWS010-Engine.FPS

59.99781

Return single value in array

Value.TJCGWS010-Engine.SyncInfo.RawTimecodes[0]

00:00:13:29

Return all values of an array as separate values

Value.TJCGWS010-Engine.SyncInfo.RawTimecodes.*

00:00:13:29
00:02:00:00

Use dynamic arguments

To inject dynamic data into the API calls use Dynamic arguments. They can be used in

  • Topic

  • Message

  • Return property

  1. Click "New dynamic argument" and give it a descriptive name

  2. Copy the argument and replace the string you want to dynamically inject

  3. Click Confirm

  4. For each argument, there will be a field in the Action List

    • Drag a property into the field

    • OR double-click it to input static data

Dynamic arguments are

  • surrounded by double curly brackets

  • need to be placed inside quotes (for Topic and Message)

Example usage in Topic or Message

JSON
{
  "Type": "Update",
  "Target": "BROADCAST",
  "Source": "{{machineName}}-Engine",
  "Name": "SystemInfo"
}

Example usage in Return property

JS
Value.{{machineName}}-Engine.SyncInfo.RawTimecodes

Listen to variable changes within a blueprint

By default, blueprint changes are not broadcasted to the network. If you need to variable changes within a blueprint to broadcast Update messages, do the following:

  1. Add a

    • Get Update Broadcaster node

    • Broadcast Property Changed Update node

    • Self node

  2. Connect them as shown below

  3. Enter the variable name you want to get updates from in the Property path field on the Broadcast Property Changed Update node

JavaScript errors detected

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

If this problem persists, please contact our support.