here is a quick howto for remote controlling Pixera via TCP:
- set API Input to JSON/TCP(dl)
- Choose given IP address and Port (my case its 192.168.178.20 Port 1400)
- Restart Pixera
- Choose one of the commands of the below documentation
- Beware of the 0 Indexfor timelines and cues. So timeline 1 is index 0. Remember timeline index before renaming. Cue Index refers to Cue number. Please remember before renaming
- Add the delimiter 0xPX at the end of the command
{"jsonrpc":"2.0", "id":7, "method":"Pixera.Compound.applyCueAtIndexOnTimelineAtIndex", "params":{"cueIndex"0:, "timelineIndex":0}}0xPX
Sends Timeline 1 to Cue 1
{"jsonrpc":"2.0", "id":8, "method":"Pixera.Compound.setTransportModeOnTimelineAtIndex", "params":{"index":0, "mode":1}}0xPX
Will set time line 1 to play
Documentation from Pixera_api_examples based on API rev 32b :
// The Compound namespace contains functions that represent core Pixera capabilites and can be invoked
// without first gathering supplemental information via the API. This makes it suited for quickly getting
// simple integrations up and running. In addition, systems that only support a unidirectional connection
// can use this namespace to control Pixera without requiring that the user input handles, etc. accessed
// by other means.
// The fact that all functions in this namespace must be "standalone" means that the signatures must include
// more information than the typical class-oriented function in the other namespaces (which is what lead to
// the name "Compound" for this namespace). A consequence of this is that the functionality here can not
// be recombined as flexibly as in the other namespaces. For this reason, all but the very simplest
// integrations should prefer use of the other namespaces. The Compound namespace will _not_ be updated
// to reflect all the expressive possibilities of the other namespaces. Rather, it will always only contain
// a subset of the API functionality focused on the simplest use cases.
namespace Compound
{
// Sets the transport mode of the timeline at the (zero-based) index in
// the Timelines listing of the Compositing tab.
boolean setTransportModeOnTimelineAtIndex(int index,int mode);
=> {"jsonrpc":"2.0", "id":8, "method":"Pixera.Compound.setTransportModeOnTimelineAtIndex", "params":{"index":1, "mode":1}}
<= {"jsonrpc":"2.0", "id":8, "result":true}
null startFirstTimeline();
=> {"jsonrpc":"2.0", "id":9, "method":"Pixera.Compound.startFirstTimeline"}
<= {"jsonrpc":"2.0", "id":9}
null pauseFirstTimeline();
=> {"jsonrpc":"2.0", "id":10, "method":"Pixera.Compound.pauseFirstTimeline"}
<= {"jsonrpc":"2.0", "id":10}
null stopFirstTimeline();
=> {"jsonrpc":"2.0", "id":11, "method":"Pixera.Compound.stopFirstTimeline"}
<= {"jsonrpc":"2.0", "id":11}
// Set the x position of the first layer of the first timeline.
// Purely for demonstration, testing purposes.
null setPosValue(double val);
=> {"jsonrpc":"2.0", "id":12, "method":"Pixera.Compound.setPosValue", "params":{"val":1.0}}
<= {"jsonrpc":"2.0", "id":12}
// Set the x/y position of the first layer of the first timeline.
// Purely for demonstration, testing purposes.
null setPosValueXY(double valX,double valY);
=> {"jsonrpc":"2.0", "id":13, "method":"Pixera.Compound.setPosValueXY", "params":{"valX":1.0, "valY":1.0}}
<= {"jsonrpc":"2.0", "id":13}
// Triggers the cue at the (zero-based) index in the timeline at the (zero-based) index in
// the Timelines listing of the Compositing tab.
null applyCueAtIndexOnTimelineAtIndex(int cueIndex,int timelineIndex);
=> {"jsonrpc":"2.0", "id":14, "method":"Pixera.Compound.applyCueAtIndexOnTimelineAtIndex", "params":{"cueIndex":1, "timelineIndex":1}}
<= {"jsonrpc":"2.0", "id":14}
}