Page 1 of 1

Remote control Pixera via TCP

Posted: Wed Sep 25, 2019 12:13 pm
by Oliver Kilian
Hi there,

here is a quick howto for remote controlling Pixera via TCP:
  1. set API Input to JSON/TCP(dl)
  2. Choose given IP address and Port (my case its 192.168.178.20 Port 1400)
  3. Restart Pixera
  4. Choose one of the commands of the below documentation
  5. 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 
  6. Add the delimiter 0xPX at the end of the command
Example:
 
{"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}
}

Re: Remote control Pixera via TCP

Posted: Mon Nov 04, 2019 7:50 am
by Quim Martinoy
Hi Oliver,

Thank you for the information, very useful if you want just quick basic control via TCP. I would add the 3 possible modes for the Timeline trasnport:

   1: Play
   2: Pause
   3: Stop

Best regards,
Quim

Re: Remote control Pixera via TCP

Posted: Tue Nov 05, 2019 7:45 am
by Oliver Kilian
Hi Quim,
sorry I missed your answer, and I am really glad you asked
And yes, I guess it does not get very clear in the above message:

   => {"jsonrpc":"2.0", "id":8, "method":"Pixera.Compound.setTransportModeOnTimelineAtIndex", "params":{"index":1, "mode":1}}

      // 1: Play
      // 2: Pause
      // 3: Stop