This documentation describes revision 157 of the API. // All class methods imply a handle parameter in the JSON params object (see examples). namespace Pixera { namespace Utility { // Returns the current revision of the API. // Release versions have even revision numbers. Beta versions have odd revision numbers. int getApiRevision(); => {"jsonrpc":"2.0", "id":1, "method":"Pixera.Utility.getApiRevision"} <= {"jsonrpc":"2.0", "id":1, "result":1} // Returns true if the function (or class method) is available. // functionName must be the fully qualified name of the function or method, // e.g. "Pixera.Screens.Screen.setPosition". boolean getHasFunction(string functionName); => {"jsonrpc":"2.0", "id":2, "method":"Pixera.Utility.getHasFunction", "params":{"functionName":"Abcd"}} <= {"jsonrpc":"2.0", "id":2, "result":true} // Outputs a debug string into the Pixera log and returns the same string in // the reply. string outputDebug(string message); => {"jsonrpc":"2.0", "id":3, "method":"Pixera.Utility.outputDebug", "params":{"message":"Abcd"}} <= {"jsonrpc":"2.0", "id":3, "result":"Abcd"} // No operation. This function does nothing. It can be used in request/response scenarios // (e.g. JSON-RPC) to bookend a set of API invocations. This gives the client a way // to know that the last invocation in the set has been processed by Pixera. null noop(); => {"jsonrpc":"2.0", "id":4, "method":"Pixera.Utility.noop"} <= {"jsonrpc":"2.0", "id":4} // Experimental. Currently only relevant to Javascript interpretation within Pixera. null requestCallback(string functionName); => {"jsonrpc":"2.0", "id":5, "method":"Pixera.Utility.requestCallback", "params":{"functionName":"Abcd"}} <= {"jsonrpc":"2.0", "id":5} string readFileString(string path); => {"jsonrpc":"2.0", "id":6, "method":"Pixera.Utility.readFileString", "params":{"path":"Abcd"}} <= {"jsonrpc":"2.0", "id":6, "result":"Abcd"} null writeFileString(string path,string fileStr); => {"jsonrpc":"2.0", "id":7, "method":"Pixera.Utility.writeFileString", "params":{"path":"Abcd", "fileStr":"Abcd"}} <= {"jsonrpc":"2.0", "id":7} string getAccessRecipe(string hdlPath); => {"jsonrpc":"2.0", "id":8, "method":"Pixera.Utility.getAccessRecipe", "params":{"hdlPath":"Abcd"}} <= {"jsonrpc":"2.0", "id":8, "result":"Abcd"} // See the documentation PDF for more information on monitoring. // The Javascript implementation does not support monitoring. // In the JSON implementation, the result of this function is a JSON object, not a string. string pollMonitoring(); => {"jsonrpc":"2.0", "id":9, "method":"Pixera.Utility.pollMonitoring"} <= {"jsonrpc":"2.0", "id":9, "result":"Abcd"} boolean unsubscribeMonitoringSubject(string subject); => {"jsonrpc":"2.0", "id":10, "method":"Pixera.Utility.unsubscribeMonitoringSubject", "params":{"subject":"Abcd"}} <= {"jsonrpc":"2.0", "id":10, "result":true} boolean subscribeMonitoringSubject(string subject); => {"jsonrpc":"2.0", "id":11, "method":"Pixera.Utility.subscribeMonitoringSubject", "params":{"subject":"Abcd"}} <= {"jsonrpc":"2.0", "id":11, "result":true} boolean setMonitoringEventMode(string mode); => {"jsonrpc":"2.0", "id":12, "method":"Pixera.Utility.setMonitoringEventMode", "params":{"mode":"Abcd"}} <= {"jsonrpc":"2.0", "id":12, "result":true} // In the Control implementation this function is called when monitoring events are sent. null monitoringEvent(string eventDescription); => {"jsonrpc":"2.0", "id":13, "method":"Pixera.Utility.monitoringEvent", "params":{"eventDescription":"Abcd"}} <= {"jsonrpc":"2.0", "id":13} // Only available in json implementation. boolean setShowContextInReplies(boolean doShow); => {"jsonrpc":"2.0", "id":14, "method":"Pixera.Utility.setShowContextInReplies", "params":{"doShow":true}} <= {"jsonrpc":"2.0", "id":14, "result":true} // Runs the javascript function jsFunction with code jsCode. string runJsScript(string jsFunction,string jsCode); => {"jsonrpc":"2.0", "id":15, "method":"Pixera.Utility.runJsScript", "params":{"jsFunction":"Abcd", "jsCode":"Abcd"}} <= {"jsonrpc":"2.0", "id":15, "result":"Abcd"} } // The Network namespace establishes a bridge between the network connections defined in the API // tab and the API entities. E.g. it allows Javascript objects created during use of the API to // send data on the connections defined in the API tab. namespace Network { handle getConveyor(string conveyorName); => {"jsonrpc":"2.0", "id":16, "method":"Pixera.Network.getConveyor", "params":{"conveyorName":"Abcd"}} <= {"jsonrpc":"2.0", "id":16, "result":123456789} // An input or output access as defined in the API. class Conveyor { null sendString(string str); => {"jsonrpc":"2.0", "id":17, "method":"Pixera.Network.Conveyor.sendString", "params":{"handle":123456789, "str":"Abcd"}} <= {"jsonrpc":"2.0", "id":17} } } // 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. // Mode Parameter: Play = 1, Pause = 2, Stop = 3. boolean setTransportModeOnTimelineAtIndex(int index,int mode); => {"jsonrpc":"2.0", "id":18, "method":"Pixera.Compound.setTransportModeOnTimelineAtIndex", "params":{"index":1, "mode":1}} <= {"jsonrpc":"2.0", "id":18, "result":true} // Sets the transport mode of the timeline identified by its name. // Mode Parameter: Play = 1, Pause = 2, Stop = 3. null setTransportModeOnTimeline(string timelineName,int mode); => {"jsonrpc":"2.0", "id":19, "method":"Pixera.Compound.setTransportModeOnTimeline", "params":{"timelineName":"Abcd", "mode":1}} <= {"jsonrpc":"2.0", "id":19} // Gets the transport mode of the timeline identified by its name. // Return values: Play = 1, Pause = 2, Stop = 3. int getTransportModeOnTimeline(string timelineName); => {"jsonrpc":"2.0", "id":20, "method":"Pixera.Compound.getTransportModeOnTimeline", "params":{"timelineName":"Abcd"}} <= {"jsonrpc":"2.0", "id":20, "result":1} // Sets the opacity of the timeline identified by its name. null setOpacityOnTimeline(string timelineName,double opacity); => {"jsonrpc":"2.0", "id":21, "method":"Pixera.Compound.setOpacityOnTimeline", "params":{"timelineName":"Abcd", "opacity":1.0}} <= {"jsonrpc":"2.0", "id":21} // Gets the opacity of the timeline identified by its name. double getOpacityOnTimeline(string timelineName); => {"jsonrpc":"2.0", "id":22, "method":"Pixera.Compound.getOpacityOnTimeline", "params":{"timelineName":"Abcd"}} <= {"jsonrpc":"2.0", "id":22, "result":1.0} null startFirstTimeline(); => {"jsonrpc":"2.0", "id":23, "method":"Pixera.Compound.startFirstTimeline"} <= {"jsonrpc":"2.0", "id":23} null pauseFirstTimeline(); => {"jsonrpc":"2.0", "id":24, "method":"Pixera.Compound.pauseFirstTimeline"} <= {"jsonrpc":"2.0", "id":24} null stopFirstTimeline(); => {"jsonrpc":"2.0", "id":25, "method":"Pixera.Compound.stopFirstTimeline"} <= {"jsonrpc":"2.0", "id":25} // 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":26, "method":"Pixera.Compound.setPosValue", "params":{"val":1.0}} <= {"jsonrpc":"2.0", "id":26} // 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":27, "method":"Pixera.Compound.setPosValueXY", "params":{"valX":1.0, "valY":1.0}} <= {"jsonrpc":"2.0", "id":27} // Sets the current value of the parameter. // The parameter is identified by a path separated by periods (e.g. "Timeline 1.Layer 1.Opacity"). null setParamValue(string path,double value); => {"jsonrpc":"2.0", "id":28, "method":"Pixera.Compound.setParamValue", "params":{"path":"Abcd", "value":1.0}} <= {"jsonrpc":"2.0", "id":28} // 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":29, "method":"Pixera.Compound.applyCueAtIndexOnTimelineAtIndex", "params":{"cueIndex":1, "timelineIndex":1}} <= {"jsonrpc":"2.0", "id":29} // Adds the file at the path to the folder with the given name path. handle addResourceToFolder(string namePath,string filePath); => {"jsonrpc":"2.0", "id":30, "method":"Pixera.Compound.addResourceToFolder", "params":{"namePath":"Abcd", "filePath":"Abcd"}} <= {"jsonrpc":"2.0", "id":30, "result":123456789} // Assigns a resource to a layer. The resource is identified by a path build from signatures and separated by forward slashes // (e.g. "Media/Folder/video.mov"). The layer is identified by a path separated by periods (e.g. "Timeline 1.Layer 1"). null assignResourceToLayer(string resourcePath,string layerPath); => {"jsonrpc":"2.0", "id":31, "method":"Pixera.Compound.assignResourceToLayer", "params":{"resourcePath":"Abcd", "layerPath":"Abcd"}} <= {"jsonrpc":"2.0", "id":31} // Refreshes a resource from file. The resource is identified by a path build from signatures and separated by forward slashes // (e.g. "Media/Folder/video.mov"). null refreshResource(string resourcePath); => {"jsonrpc":"2.0", "id":32, "method":"Pixera.Compound.refreshResource", "params":{"resourcePath":"Abcd"}} <= {"jsonrpc":"2.0", "id":32} // Sets the transport mode of a layer: Play = 1, Pause = 2, Stop = 3. // The layer is identified by a path separated by periods (e.g. "Timeline 1.Layer 1"). null setTransportModeOnLayer(string layerPath,int mode,boolean loop); => {"jsonrpc":"2.0", "id":33, "method":"Pixera.Compound.setTransportModeOnLayer", "params":{"layerPath":"Abcd", "mode":1, "loop":true}} <= {"jsonrpc":"2.0", "id":33} // Gets the transport mode of a layer: Play = 1, Pause = 2, Stop = 3. // The layer is identified by a path separated by periods (e.g. "Timeline 1.Layer 1"). int getTransportModeOnLayer(string layerPath); => {"jsonrpc":"2.0", "id":34, "method":"Pixera.Compound.getTransportModeOnLayer", "params":{"layerPath":"Abcd"}} <= {"jsonrpc":"2.0", "id":34, "result":1} // Gets the resource currently assigned to the layer. // The layer is identified by a path separated by periods (e.g. "Timeline 1.Layer 1"). // The returned string is the path build from signatures and separated by forward slashes // (e.g. "Media/Folder/video.mov"). string getResourceAssignedToLayer(string layerPath); => {"jsonrpc":"2.0", "id":35, "method":"Pixera.Compound.getResourceAssignedToLayer", "params":{"layerPath":"Abcd"}} <= {"jsonrpc":"2.0", "id":35, "result":"Abcd"} // Sets the current time in frames. Use getFpsOfTimeline() to relate the frames to seconds. null setCurrentTimeOfTimeline(string timelineName,int time); => {"jsonrpc":"2.0", "id":36, "method":"Pixera.Compound.setCurrentTimeOfTimeline", "params":{"timelineName":"Abcd", "time":1}} <= {"jsonrpc":"2.0", "id":36} // Sets the current time in seconds. null setCurrentTimeOfTimelineInSeconds(string timelineName,double time); => {"jsonrpc":"2.0", "id":37, "method":"Pixera.Compound.setCurrentTimeOfTimelineInSeconds", "params":{"timelineName":"Abcd", "time":1.0}} <= {"jsonrpc":"2.0", "id":37} // Sets the current time in seconds. // Mode Parameter: Play = 1, Pause = 2, Stop = 3. null setCurrentTimeAndTransportModeOfTimelineInSeconds(string timelineName,double time,int mode); => {"jsonrpc":"2.0", "id":38, "method":"Pixera.Compound.setCurrentTimeAndTransportModeOfTimelineInSeconds", "params":{"timelineName":"Abcd", "time":1.0, "mode":1}} <= {"jsonrpc":"2.0", "id":38} // Gets the frames per second of the timeline. double getFpsOfTimeline(string timelineName); => {"jsonrpc":"2.0", "id":39, "method":"Pixera.Compound.getFpsOfTimeline", "params":{"timelineName":"Abcd"}} <= {"jsonrpc":"2.0", "id":39, "result":1.0} // Gets the current time in frames. Use getFpsOfTimeline() to relate the frames to seconds. int getCurrentTimeOfTimeline(string timelineName); => {"jsonrpc":"2.0", "id":40, "method":"Pixera.Compound.getCurrentTimeOfTimeline", "params":{"timelineName":"Abcd"}} <= {"jsonrpc":"2.0", "id":40, "result":1} // Gets the current time in seconds. double getCurrentTimeOfTimelineInSeconds(string timelineName); => {"jsonrpc":"2.0", "id":41, "method":"Pixera.Compound.getCurrentTimeOfTimelineInSeconds", "params":{"timelineName":"Abcd"}} <= {"jsonrpc":"2.0", "id":41, "result":1.0} // Gets the current time as a hours, minutes, seconds, frames string. string getCurrentHMSFOfTimeline(string timelineName); => {"jsonrpc":"2.0", "id":42, "method":"Pixera.Compound.getCurrentHMSFOfTimeline", "params":{"timelineName":"Abcd"}} <= {"jsonrpc":"2.0", "id":42, "result":"Abcd"} // Creates a clip at the given time in frames and assigns the resource. // The layer is identified by a path separated by periods (e.g. "Timeline 1.Layer 1"). // The resource is identified by a path build from signatures and separated by forward slashes (e.g. "Media/Folder/video.mov"). null createClipOnLayerAtTimeWithResource(string layerPath,double time,string resourcePath); => {"jsonrpc":"2.0", "id":43, "method":"Pixera.Compound.createClipOnLayerAtTimeWithResource", "params":{"layerPath":"Abcd", "time":1.0, "resourcePath":"Abcd"}} <= {"jsonrpc":"2.0", "id":43} // Removes the clip identified by the 0-based clipIndex on the layer. // The layer is identified by a path separated by periods (e.g. "Timeline 1.Layer 1"). null removeClipOnLayerWithIndex(string layerPath,int clipIndex); => {"jsonrpc":"2.0", "id":44, "method":"Pixera.Compound.removeClipOnLayerWithIndex", "params":{"layerPath":"Abcd", "clipIndex":1}} <= {"jsonrpc":"2.0", "id":44} // Removes all clips on the layer. // The layer is identified by a path separated by periods (e.g. "Timeline 1.Layer 1"). null removeAllClipsOnLayer(string layerPath); => {"jsonrpc":"2.0", "id":45, "method":"Pixera.Compound.removeAllClipsOnLayer", "params":{"layerPath":"Abcd"}} <= {"jsonrpc":"2.0", "id":45} // Gets the clip duration in seconds identified by the 0-based clipIndex on the layer. // The layer is identified by a path separated by periods (e.g. "Timeline 1.Layer 1"). double getClipDurationInSecondsWithIndex(string layerPath,int clipIndex); => {"jsonrpc":"2.0", "id":46, "method":"Pixera.Compound.getClipDurationInSecondsWithIndex", "params":{"layerPath":"Abcd", "clipIndex":1}} <= {"jsonrpc":"2.0", "id":46, "result":1.0} // Gets the clip duration in frames identified by the 0-based clipIndex on the layer. // The layer is identified by a path separated by periods (e.g. "Timeline 1.Layer 1"). int getClipDurationInFramesWithIndex(string layerPath,int clipIndex); => {"jsonrpc":"2.0", "id":47, "method":"Pixera.Compound.getClipDurationInFramesWithIndex", "params":{"layerPath":"Abcd", "clipIndex":1}} <= {"jsonrpc":"2.0", "id":47, "result":1} // Gets the clip start time in seconds identified by the 0-based clipIndex on the layer. // The layer is identified by a path separated by periods (e.g. "Timeline 1.Layer 1"). double getClipTimeInSecondsWithIndex(string layerPath,int clipIndex); => {"jsonrpc":"2.0", "id":48, "method":"Pixera.Compound.getClipTimeInSecondsWithIndex", "params":{"layerPath":"Abcd", "clipIndex":1}} <= {"jsonrpc":"2.0", "id":48, "result":1.0} // Gets the clip end time in seconds identified by the 0-based clipIndex on the layer. // The layer is identified by a path separated by periods (e.g. "Timeline 1.Layer 1"). double getClipEndTimeInSecondsWithIndex(string layerPath,int clipIndex); => {"jsonrpc":"2.0", "id":49, "method":"Pixera.Compound.getClipEndTimeInSecondsWithIndex", "params":{"layerPath":"Abcd", "clipIndex":1}} <= {"jsonrpc":"2.0", "id":49, "result":1.0} // Returns the duration of the resource in seconds. // The resource is identified by a path build from signatures and separated by forward slashes (e.g. "Media/Folder/video.mov"). double getResourceDurationInSeconds(string resourcePath); => {"jsonrpc":"2.0", "id":50, "method":"Pixera.Compound.getResourceDurationInSeconds", "params":{"resourcePath":"Abcd"}} <= {"jsonrpc":"2.0", "id":50, "result":1.0} // Gets the current value of the parameter. // The parameter is identified by a path separated by periods (e.g. "Timeline 1.Layer 1.Opacity"). double getParamValue(string path); => {"jsonrpc":"2.0", "id":51, "method":"Pixera.Compound.getParamValue", "params":{"path":"Abcd"}} <= {"jsonrpc":"2.0", "id":51, "result":1.0} } namespace Session { null closeApp(boolean saveProject); => {"jsonrpc":"2.0", "id":52, "method":"Pixera.Session.closeApp", "params":{"saveProject":true}} <= {"jsonrpc":"2.0", "id":52} null loadProject(string path); => {"jsonrpc":"2.0", "id":53, "method":"Pixera.Session.loadProject", "params":{"path":"Abcd"}} <= {"jsonrpc":"2.0", "id":53} null saveProject(); => {"jsonrpc":"2.0", "id":54, "method":"Pixera.Session.saveProject"} <= {"jsonrpc":"2.0", "id":54} null saveProjectAs(string path); => {"jsonrpc":"2.0", "id":55, "method":"Pixera.Session.saveProjectAs", "params":{"path":"Abcd"}} <= {"jsonrpc":"2.0", "id":55} // Shut down the local machine. There are three options for mode: // 1: Shut down. // 2: Shut down and turn off power (if supported). // 3: Shut down and reboot. null shutdownSystem(int mode); => {"jsonrpc":"2.0", "id":56, "method":"Pixera.Session.shutdownSystem", "params":{"mode":1}} <= {"jsonrpc":"2.0", "id":56} string[] getLiveSystemIps(); => {"jsonrpc":"2.0", "id":57, "method":"Pixera.Session.getLiveSystemIps"} <= {"jsonrpc":"2.0", "id":57, "result":[Efgh, ...]} string getLiveSystemState(string ip); => {"jsonrpc":"2.0", "id":58, "method":"Pixera.Session.getLiveSystemState", "params":{"ip":"Abcd"}} <= {"jsonrpc":"2.0", "id":58, "result":"Abcd"} // This function is called in Pixera Control when the live system's state changes. null liveSystemStateChange(string ip,string state); => {"jsonrpc":"2.0", "id":59, "method":"Pixera.Session.liveSystemStateChange", "params":{"ip":"Abcd", "state":"Abcd"}} <= {"jsonrpc":"2.0", "id":59} // Shut down the live system with the given IP. The mode options are the same as for shutdownSystem(): null shutdownLiveSystem(string ip,int mode); => {"jsonrpc":"2.0", "id":60, "method":"Pixera.Session.shutdownLiveSystem", "params":{"ip":"Abcd", "mode":1}} <= {"jsonrpc":"2.0", "id":60} null setVideoStreamActiveState(string ip,string device,boolean isActive); => {"jsonrpc":"2.0", "id":61, "method":"Pixera.Session.setVideoStreamActiveState", "params":{"ip":"Abcd", "device":"Abcd", "isActive":true}} <= {"jsonrpc":"2.0", "id":61} boolean getVideoStreamActiveState(string ip,string device); => {"jsonrpc":"2.0", "id":62, "method":"Pixera.Session.getVideoStreamActiveState", "params":{"ip":"Abcd", "device":"Abcd"}} <= {"jsonrpc":"2.0", "id":62, "result":true} // Wake up the live system that last had the given IP. Uses the MAC address that was last reported // for the IP. string wakeLiveSystem(string ip); => {"jsonrpc":"2.0", "id":63, "method":"Pixera.Session.wakeLiveSystem", "params":{"ip":"Abcd"}} <= {"jsonrpc":"2.0", "id":63, "result":"Abcd"} // Returns the last MAC address associated with the live system with the given IP. string getLiveSystemMacAddress(string ip); => {"jsonrpc":"2.0", "id":64, "method":"Pixera.Session.getLiveSystemMacAddress", "params":{"ip":"Abcd"}} <= {"jsonrpc":"2.0", "id":64, "result":"Abcd"} } namespace Settings { namespace SettingsGeneral { //If this is true, the values for transformation and scale, set in Node::setValues have to be in pixels. boolean getShowDimsInPixels(); => {"jsonrpc":"2.0", "id":65, "method":"Pixera.Settings.SettingsGeneral.getShowDimsInPixels"} <= {"jsonrpc":"2.0", "id":65, "result":true} //If this is true, the nodes will be using size instead of scale. boolean getShowScaleAsSize(); => {"jsonrpc":"2.0", "id":66, "method":"Pixera.Settings.SettingsGeneral.getShowScaleAsSize"} <= {"jsonrpc":"2.0", "id":66, "result":true} } namespace SettingsTranscoding { // Get Transcoding presets as a vector of Json-Strings // With the stucture: // Available container/codec strings: // vp9: mkv, mp4 // H264: mp4 // H265: mp4 // HAP: mov // HAP Alpha: mov // HAP Q: mov // Image: png, tiff, dpx // // Compression settings: // Lossless : 0 // Low : 1 // Medium : 2 // High : 3 // // Hap compression settings: // None : 0 // Snappy : 1 // // H264 Presets: // Default : 1 // Slow : 2 // Medium : 3 // Fast : 4 // Hp (High Performance): 5 // Hq : 6 // Bd : 7 // Ll (Low latency) : 8 // LlHq : 9 // LlHp : 10 // Lossless : 11 // Lossless Hp : 12 string[] getTranscodingPresets(); => {"jsonrpc":"2.0", "id":67, "method":"Pixera.Settings.SettingsTranscoding.getTranscodingPresets"} <= {"jsonrpc":"2.0", "id":67, "result":[Efgh, ...]} // Search for preset with given name if found it will be set to the given setup, // if not a new one will be created. null addOrChangeTranscodingPreset(string preset); => {"jsonrpc":"2.0", "id":68, "method":"Pixera.Settings.SettingsTranscoding.addOrChangeTranscodingPreset", "params":{"preset":"Abcd"}} <= {"jsonrpc":"2.0", "id":68} } } namespace Screens { // Screen name as shown in the inspector. handle getScreenWithName(string name); => {"jsonrpc":"2.0", "id":69, "method":"Pixera.Screens.getScreenWithName", "params":{"name":"Abcd"}} <= {"jsonrpc":"2.0", "id":69, "result":123456789} // This function was introduced for test purposes, is not typical of the API // and is likely to be removed soon. Do not use it in shipping products! // The function sets the position of the screen with the given name. // The recommended way of doing this is to first use getScreenWithName(.) and // then Screen.setPosition(.). null setNamedScreenPosition(string name,double xPos,double yPos,double zPos); => {"jsonrpc":"2.0", "id":70, "method":"Pixera.Screens.setNamedScreenPosition", "params":{"name":"Abcd", "xPos":1.0, "yPos":1.0, "zPos":1.0}} <= {"jsonrpc":"2.0", "id":70} // Returns handles to all screens currently used in the Screens tab. handle[] getScreens(); => {"jsonrpc":"2.0", "id":71, "method":"Pixera.Screens.getScreens"} <= {"jsonrpc":"2.0", "id":71, "result":[123456789, ...]} string[] getScreenNames(); => {"jsonrpc":"2.0", "id":72, "method":"Pixera.Screens.getScreenNames"} <= {"jsonrpc":"2.0", "id":72, "result":[Efgh, ...]} handle getFirstTimelineWithHomeScreen(string screenName); => {"jsonrpc":"2.0", "id":73, "method":"Pixera.Screens.getFirstTimelineWithHomeScreen", "params":{"screenName":"Abcd"}} <= {"jsonrpc":"2.0", "id":73, "result":123456789} // Returns handles to all studio cameras currently used in the Screens tab. handle[] getStudioCameras(); => {"jsonrpc":"2.0", "id":74, "method":"Pixera.Screens.getStudioCameras"} <= {"jsonrpc":"2.0", "id":74, "result":[123456789, ...]} struct ScreenPosValues { double x; double y; double z; } class Screen { // Returns an id based on the handle. This is currently necessary in some situations // because some API implementations can not yet consume handles as parameters. double getId(); => {"jsonrpc":"2.0", "id":75, "method":"Pixera.Screens.Screen.getId", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":75, "result":1.0} string getName(); => {"jsonrpc":"2.0", "id":76, "method":"Pixera.Screens.Screen.getName", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":76, "result":"Abcd"} // Sets the position in meters. boolean setPosition(double xPos,double yPos,double zPos); => {"jsonrpc":"2.0", "id":77, "method":"Pixera.Screens.Screen.setPosition", "params":{"handle":123456789, "xPos":1.0, "yPos":1.0, "zPos":1.0}} <= {"jsonrpc":"2.0", "id":77, "result":true} // Sets the rotation in degrees. boolean setRotation(double xRot,double yRot,double zRot); => {"jsonrpc":"2.0", "id":78, "method":"Pixera.Screens.Screen.setRotation", "params":{"handle":123456789, "xRot":1.0, "yRot":1.0, "zRot":1.0}} <= {"jsonrpc":"2.0", "id":78, "result":true} // Scales the screen proportionally (a value of 1.0 leaves the size unchanged). boolean setScale(double xScale,double yScale,double zScale); => {"jsonrpc":"2.0", "id":79, "method":"Pixera.Screens.Screen.setScale", "params":{"handle":123456789, "xScale":1.0, "yScale":1.0, "zScale":1.0}} <= {"jsonrpc":"2.0", "id":79, "result":true} // Sets position, rotation and scale in one API call. boolean setPosRotScale(double xPos,double yPos,double zPos,double xRot,double yRot,double zRot,double xScale,double yScale,double zScale); => {"jsonrpc":"2.0", "id":80, "method":"Pixera.Screens.Screen.setPosRotScale", "params":{"handle":123456789, "xPos":1.0, "yPos":1.0, "zPos":1.0, "xRot":1.0, "yRot":1.0, "zRot":1.0, "xScale":1.0, "yScale":1.0, "zScale":1.0}} <= {"jsonrpc":"2.0", "id":80, "result":true} handle getPersepective(); => {"jsonrpc":"2.0", "id":81, "method":"Pixera.Screens.Screen.getPersepective", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":81, "result":123456789} // Sets the position of the perspective in meters. boolean setPerspectivePosition(double xPos,double yPos,double zPos); => {"jsonrpc":"2.0", "id":82, "method":"Pixera.Screens.Screen.setPerspectivePosition", "params":{"handle":123456789, "xPos":1.0, "yPos":1.0, "zPos":1.0}} <= {"jsonrpc":"2.0", "id":82, "result":true} // Sets the position of the perspective in meters and moves the look-at point so that the // relationship between eye and look-at point is maintained. Look-at point will not be moved // if generalized perspective projection is being used. boolean setPerspectivePositionWithLookAt(double xPos,double yPos,double zPos); => {"jsonrpc":"2.0", "id":83, "method":"Pixera.Screens.Screen.setPerspectivePositionWithLookAt", "params":{"handle":123456789, "xPos":1.0, "yPos":1.0, "zPos":1.0}} <= {"jsonrpc":"2.0", "id":83, "result":true} // Gets the position of the perspective in meters. null getPerspectivePosition(); => {"jsonrpc":"2.0", "id":84, "method":"Pixera.Screens.Screen.getPerspectivePosition", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":84, "result":{"x":1.0, "y":1.0, "z":1.0}} // Sets the rotation around the view axis of the screen's perspective in degrees. boolean setPerspectiveRotation(double xRot,double yRot,double zRot); => {"jsonrpc":"2.0", "id":85, "method":"Pixera.Screens.Screen.setPerspectiveRotation", "params":{"handle":123456789, "xRot":1.0, "yRot":1.0, "zRot":1.0}} <= {"jsonrpc":"2.0", "id":85, "result":true} // Gets the rotation around the view axis of the screen's perspective in degrees. null getPerspectiveRotation(); => {"jsonrpc":"2.0", "id":86, "method":"Pixera.Screens.Screen.getPerspectiveRotation", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":86, "result":{"x":1.0, "y":1.0, "z":1.0}} // This method is deprecated. Please use setPerspectivePosition(.) instead. boolean setCameraPosition(double xPos,double yPos,double zPos); => {"jsonrpc":"2.0", "id":87, "method":"Pixera.Screens.Screen.setCameraPosition", "params":{"handle":123456789, "xPos":1.0, "yPos":1.0, "zPos":1.0}} <= {"jsonrpc":"2.0", "id":87, "result":true} // This method is deprecated. Please use setPerspectivePositionWithLookAt(.) instead. boolean setCameraPositionWithLookAt(double xPos,double yPos,double zPos); => {"jsonrpc":"2.0", "id":88, "method":"Pixera.Screens.Screen.setCameraPositionWithLookAt", "params":{"handle":123456789, "xPos":1.0, "yPos":1.0, "zPos":1.0}} <= {"jsonrpc":"2.0", "id":88, "result":true} // This method is deprecated. Please use getPerspectivePosition(.) instead. null getCameraPosition(); => {"jsonrpc":"2.0", "id":89, "method":"Pixera.Screens.Screen.getCameraPosition", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":89, "result":{"x":1.0, "y":1.0, "z":1.0}} // This method is deprecated. Please use setPerspectiveRotation(.) instead. boolean setCameraRotation(double xRot,double yRot,double zRot); => {"jsonrpc":"2.0", "id":90, "method":"Pixera.Screens.Screen.setCameraRotation", "params":{"handle":123456789, "xRot":1.0, "yRot":1.0, "zRot":1.0}} <= {"jsonrpc":"2.0", "id":90, "result":true} // This method is deprecated. Please use getPerspectiveRotation(.) instead. null getCameraRotation(); => {"jsonrpc":"2.0", "id":91, "method":"Pixera.Screens.Screen.getCameraRotation", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":91, "result":{"x":1.0, "y":1.0, "z":1.0}} // Sets the frustum base of the screen's perspective in pixels. The frustum base is positioned in the X/Y plane of the content compositing // space so that its center is at the position given by the x and y parameters. The origin the position relates to is that of the screen given // by originScreenId (use Screen.getId() to access this id or pass a handle to the origin screen). This makes it possible to relate // multiple perspective pixel positions to the same origin. // The width and height of the frustum base are set to pixel dimensions as given by the width and height parameters. // The rotation parameter rotates the frustum base around the Z axis the given number of degrees. null setContentSamplingFrustumBase(double x,double y,double width,double height,double rotation,double originScreenId); => {"jsonrpc":"2.0", "id":92, "method":"Pixera.Screens.Screen.setContentSamplingFrustumBase", "params":{"handle":123456789, "x":1.0, "y":1.0, "width":1.0, "height":1.0, "rotation":1.0, "originScreenId":1.0}} <= {"jsonrpc":"2.0", "id":92} // Launches a calibration tool for the screen. The mode and diff strings // depend on the tool. If they are left empty appropriate defaults will be used. // mode options: // "newCalib": Launches "New Calibration" dialog. // "autoRecalib": Launches re-calibration without user interaction. Dialog is closed automatically afterwards. // diff options: // "vioso" null runCalibration(string mode,string diff); => {"jsonrpc":"2.0", "id":93, "method":"Pixera.Screens.Screen.runCalibration", "params":{"handle":123456789, "mode":"Abcd", "diff":"Abcd"}} <= {"jsonrpc":"2.0", "id":93} // Relaunches a calibration tool for the screen for further editing. The diff string // depends on the tool. If it is left empty an appropriate default will be used. null editCalibration(string diff); => {"jsonrpc":"2.0", "id":94, "method":"Pixera.Screens.Screen.editCalibration", "params":{"handle":123456789, "diff":"Abcd"}} <= {"jsonrpc":"2.0", "id":94} // Resets a warp that originated with a calibration tool. The diff string depends // on the tool. If it is empty an appropriate default will be used. null resetWarpFile(string diff); => {"jsonrpc":"2.0", "id":95, "method":"Pixera.Screens.Screen.resetWarpFile", "params":{"handle":123456789, "diff":"Abcd"}} <= {"jsonrpc":"2.0", "id":95} // Loads the warp file at the specified path for the screen. null loadWarpFile(string filePath); => {"jsonrpc":"2.0", "id":96, "method":"Pixera.Screens.Screen.loadWarpFile", "params":{"handle":123456789, "filePath":"Abcd"}} <= {"jsonrpc":"2.0", "id":96} // Like loadWarpFile() except diff string can be used to control the format. Use "mpcdi" // to load MPCDI files. null loadWarpFileWithDiff(string filePath,string diff); => {"jsonrpc":"2.0", "id":97, "method":"Pixera.Screens.Screen.loadWarpFileWithDiff", "params":{"handle":123456789, "filePath":"Abcd", "diff":"Abcd"}} <= {"jsonrpc":"2.0", "id":97} // Adds the warp file at the specified path to those loaded for the screen. null addWarpFile(string filePath); => {"jsonrpc":"2.0", "id":98, "method":"Pixera.Screens.Screen.addWarpFile", "params":{"handle":123456789, "filePath":"Abcd"}} <= {"jsonrpc":"2.0", "id":98} // Like loadWarpFile() except diff string can be used to control the format. Use "mpcdi" // to add MPCDI files. null addWarpFileWithDiff(string filePath,string diff); => {"jsonrpc":"2.0", "id":99, "method":"Pixera.Screens.Screen.addWarpFileWithDiff", "params":{"handle":123456789, "filePath":"Abcd", "diff":"Abcd"}} <= {"jsonrpc":"2.0", "id":99} // Sets the screen visibility in the workspace. null setIsVisible(boolean isVisible); => {"jsonrpc":"2.0", "id":100, "method":"Pixera.Screens.Screen.setIsVisible", "params":{"handle":123456789, "isVisible":true}} <= {"jsonrpc":"2.0", "id":100} // Get the screen visibility in the workspace. boolean getIsVisible(); => {"jsonrpc":"2.0", "id":101, "method":"Pixera.Screens.Screen.getIsVisible", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":101, "result":true} // Sets if a screen can be used as a projection surface. null setIsProjectable(boolean isProjectable); => {"jsonrpc":"2.0", "id":102, "method":"Pixera.Screens.Screen.setIsProjectable", "params":{"handle":123456789, "isProjectable":true}} <= {"jsonrpc":"2.0", "id":102} // Get if the screen can be used as a projection surface. boolean getIsProjectable(); => {"jsonrpc":"2.0", "id":103, "method":"Pixera.Screens.Screen.getIsProjectable", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":103, "result":true} // Triggers a manual update of the mappings between this screen and the projectors. null triggerRefreshMapping(); => {"jsonrpc":"2.0", "id":104, "method":"Pixera.Screens.Screen.triggerRefreshMapping", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":104} handle getInst(string instancePath); => {"jsonrpc":"2.0", "id":105, "method":"Pixera.Screens.Screen.getInst", "params":{"instancePath":"Abcd"}} <= {"jsonrpc":"2.0", "id":105, "result":123456789} handle getHandleFromInstancePath(string instancePath); => {"jsonrpc":"2.0", "id":106, "method":"Pixera.Screens.Screen.getHandleFromInstancePath", "params":{"instancePath":"Abcd"}} <= {"jsonrpc":"2.0", "id":106, "result":123456789} string getInstancePath(); => {"jsonrpc":"2.0", "id":107, "method":"Pixera.Screens.Screen.getInstancePath", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":107, "result":"Abcd"} } class StudioCamera { string getName(); => {"jsonrpc":"2.0", "id":108, "method":"Pixera.Screens.StudioCamera.getName", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":108, "result":"Abcd"} // Sets the position in meters, rotation and fov in degrees. null setTransformation(double xPos,double yPos,double zPos,double xRot,double yRot,double zRot,double fov,double aspectRatio); => {"jsonrpc":"2.0", "id":109, "method":"Pixera.Screens.StudioCamera.setTransformation", "params":{"handle":123456789, "xPos":1.0, "yPos":1.0, "zPos":1.0, "xRot":1.0, "yRot":1.0, "zRot":1.0, "fov":1.0, "aspectRatio":1.0}} <= {"jsonrpc":"2.0", "id":109} // Sets the position in meters, rotation and fov in degrees, centerX, centerX and panelWidth in millimeters. null setTransformationAndLensProps(double xPos,double yPos,double zPos,double xRot,double yRot,double zRot,double fov,double aspectRatio,double nearClip,double farClip,double aperture,double focus,double iris,double k1,double k2,double centerX,double centerY,double panelWidth); => {"jsonrpc":"2.0", "id":110, "method":"Pixera.Screens.StudioCamera.setTransformationAndLensProps", "params":{"handle":123456789, "xPos":1.0, "yPos":1.0, "zPos":1.0, "xRot":1.0, "yRot":1.0, "zRot":1.0, "fov":1.0, "aspectRatio":1.0, "nearClip":1.0, "farClip":1.0, "aperture":1.0, "focus":1.0, "iris":1.0, "k1":1.0, "k2":1.0, "centerX":1.0, "centerY":1.0, "panelWidth":1.0}} <= {"jsonrpc":"2.0", "id":110} // Sets the position in meters, rotation and fov in degrees, centerX, centerX and panelWidth in millimeters. null setTransformationAndLensPropsExt(double xPos,double yPos,double zPos,double xRot,double yRot,double zRot,double fov,double aspectRatio,double nearClip,double farClip,double aperture,double focus,double focalDistance,double zoom,double iris,double k1,double k2,double k3,double p1,double p2,double centerX,double centerY,double panelWidth,double overscan); => {"jsonrpc":"2.0", "id":111, "method":"Pixera.Screens.StudioCamera.setTransformationAndLensPropsExt", "params":{"handle":123456789, "xPos":1.0, "yPos":1.0, "zPos":1.0, "xRot":1.0, "yRot":1.0, "zRot":1.0, "fov":1.0, "aspectRatio":1.0, "nearClip":1.0, "farClip":1.0, "aperture":1.0, "focus":1.0, "focalDistance":1.0, "zoom":1.0, "iris":1.0, "k1":1.0, "k2":1.0, "k3":1.0, "p1":1.0, "p2":1.0, "centerX":1.0, "centerY":1.0, "panelWidth":1.0, "overscan":1.0}} <= {"jsonrpc":"2.0", "id":111} handle getInst(string instancePath); => {"jsonrpc":"2.0", "id":112, "method":"Pixera.Screens.StudioCamera.getInst", "params":{"instancePath":"Abcd"}} <= {"jsonrpc":"2.0", "id":112, "result":123456789} handle getHandleFromInstancePath(string instancePath); => {"jsonrpc":"2.0", "id":113, "method":"Pixera.Screens.StudioCamera.getHandleFromInstancePath", "params":{"instancePath":"Abcd"}} <= {"jsonrpc":"2.0", "id":113, "result":123456789} string getInstancePath(); => {"jsonrpc":"2.0", "id":114, "method":"Pixera.Screens.StudioCamera.getInstancePath", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":114, "result":"Abcd"} } class Perspective { string getName(); => {"jsonrpc":"2.0", "id":115, "method":"Pixera.Screens.Perspective.getName", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":115, "result":"Abcd"} // Sets the position in meters, rotation and fov in degrees. null setTransformation(double xPos,double yPos,double zPos,double xRot,double yRot,double zRot,double fov,double aspectRatio); => {"jsonrpc":"2.0", "id":116, "method":"Pixera.Screens.Perspective.setTransformation", "params":{"handle":123456789, "xPos":1.0, "yPos":1.0, "zPos":1.0, "xRot":1.0, "yRot":1.0, "zRot":1.0, "fov":1.0, "aspectRatio":1.0}} <= {"jsonrpc":"2.0", "id":116} handle getInst(string instancePath); => {"jsonrpc":"2.0", "id":117, "method":"Pixera.Screens.Perspective.getInst", "params":{"instancePath":"Abcd"}} <= {"jsonrpc":"2.0", "id":117, "result":123456789} handle getHandleFromInstancePath(string instancePath); => {"jsonrpc":"2.0", "id":118, "method":"Pixera.Screens.Perspective.getHandleFromInstancePath", "params":{"instancePath":"Abcd"}} <= {"jsonrpc":"2.0", "id":118, "result":123456789} string getInstancePath(); => {"jsonrpc":"2.0", "id":119, "method":"Pixera.Screens.Perspective.getInstancePath", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":119, "result":"Abcd"} } } namespace Projectors { // Projector name as shown in the inspector. handle getProjectorWithName(string name); => {"jsonrpc":"2.0", "id":120, "method":"Pixera.Projectors.getProjectorWithName", "params":{"name":"Abcd"}} <= {"jsonrpc":"2.0", "id":120, "result":123456789} // Returns handles to all screens currently used in the Mapping tab. handle[] getProjectors(); => {"jsonrpc":"2.0", "id":121, "method":"Pixera.Projectors.getProjectors"} <= {"jsonrpc":"2.0", "id":121, "result":[123456789, ...]} string[] getProjectorNames(); => {"jsonrpc":"2.0", "id":122, "method":"Pixera.Projectors.getProjectorNames"} <= {"jsonrpc":"2.0", "id":122, "result":[Efgh, ...]} class Projector { // The position units are as in the inspector, i.e. meters. boolean setPosition(double xPos,double yPos,double zPos); => {"jsonrpc":"2.0", "id":123, "method":"Pixera.Projectors.Projector.setPosition", "params":{"handle":123456789, "xPos":1.0, "yPos":1.0, "zPos":1.0}} <= {"jsonrpc":"2.0", "id":123, "result":true} string getName(); => {"jsonrpc":"2.0", "id":124, "method":"Pixera.Projectors.Projector.getName", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":124, "result":"Abcd"} // Set the active state of a projector screen mapping. // The id is conceptually the handle but the handle can not be passed // directly for some implementations of the API. // Therefore, Screen.getId() should be used to fill the screenId parameter. null activateScreenMapping(double screenId,boolean isActive); => {"jsonrpc":"2.0", "id":125, "method":"Pixera.Projectors.Projector.activateScreenMapping", "params":{"handle":123456789, "screenId":1.0, "isActive":true}} <= {"jsonrpc":"2.0", "id":125} handle getInst(string instancePath); => {"jsonrpc":"2.0", "id":126, "method":"Pixera.Projectors.Projector.getInst", "params":{"instancePath":"Abcd"}} <= {"jsonrpc":"2.0", "id":126, "result":123456789} handle getHandleFromInstancePath(string instancePath); => {"jsonrpc":"2.0", "id":127, "method":"Pixera.Projectors.Projector.getHandleFromInstancePath", "params":{"instancePath":"Abcd"}} <= {"jsonrpc":"2.0", "id":127, "result":123456789} string getInstancePath(); => {"jsonrpc":"2.0", "id":128, "method":"Pixera.Projectors.Projector.getInstancePath", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":128, "result":"Abcd"} } } namespace Resources { // Returns handles to all resources (including within subfolders) in the resource // tree in the Compositing tab. handle[] getResources(); => {"jsonrpc":"2.0", "id":129, "method":"Pixera.Resources.getResources"} <= {"jsonrpc":"2.0", "id":129, "result":[123456789, ...]} // Returns a handle to a folder in the resource tree. The namePath // specifies the folder by starting from the root and then listing // all the names as seen in the resources tree separated by forward // slashes, e.g. "Media/Std Backgrounds/Atmospherics". handle getResourceFolderWithNamePath(string namePath); => {"jsonrpc":"2.0", "id":130, "method":"Pixera.Resources.getResourceFolderWithNamePath", "params":{"namePath":"Abcd"}} <= {"jsonrpc":"2.0", "id":130, "result":123456789} // Returns the top level resource folders. handle[] getResourceFolders(); => {"jsonrpc":"2.0", "id":131, "method":"Pixera.Resources.getResourceFolders"} <= {"jsonrpc":"2.0", "id":131, "result":[123456789, ...]} handle[] getTranscodingFolders(); => {"jsonrpc":"2.0", "id":132, "method":"Pixera.Resources.getTranscodingFolders"} <= {"jsonrpc":"2.0", "id":132, "result":[123456789, ...]} string getJsonDescrip(); => {"jsonrpc":"2.0", "id":133, "method":"Pixera.Resources.getJsonDescrip"} <= {"jsonrpc":"2.0", "id":133, "result":"Abcd"} class ResourceFolder { // Pixera Control self-reference function. handle ref(); => {"jsonrpc":"2.0", "id":134, "method":"Pixera.Resources.ResourceFolder.ref", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":134, "result":123456789} string getName(); => {"jsonrpc":"2.0", "id":135, "method":"Pixera.Resources.ResourceFolder.getName", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":135, "result":"Abcd"} // Returns the resource folders that are immediate children of this folder. handle[] getResourceFolders(); => {"jsonrpc":"2.0", "id":136, "method":"Pixera.Resources.ResourceFolder.getResourceFolders", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":136, "result":[123456789, ...]} // Returns handles to all the resources that are directly in one folder (i.e. does not consider subfolders). handle[] getResources(); => {"jsonrpc":"2.0", "id":137, "method":"Pixera.Resources.ResourceFolder.getResources", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":137, "result":[123456789, ...]} handle getResourceAtIndex(int index); => {"jsonrpc":"2.0", "id":138, "method":"Pixera.Resources.ResourceFolder.getResourceAtIndex", "params":{"handle":123456789, "index":1}} <= {"jsonrpc":"2.0", "id":138, "result":123456789} // Adds the file at the path to the folder. handle addResource(string path); => {"jsonrpc":"2.0", "id":139, "method":"Pixera.Resources.ResourceFolder.addResource", "params":{"handle":123456789, "path":"Abcd"}} <= {"jsonrpc":"2.0", "id":139, "result":123456789} // Adds the files at the directory path to the folder. If checkRedundancy == true then only files that have names // that are not currently in the folder are added. handle[] addResourcesFromDirectory(string path,boolean removeOthers,boolean checkRedundancy); => {"jsonrpc":"2.0", "id":140, "method":"Pixera.Resources.ResourceFolder.addResourcesFromDirectory", "params":{"handle":123456789, "path":"Abcd", "removeOthers":true, "checkRedundancy":true}} <= {"jsonrpc":"2.0", "id":140, "result":[123456789, ...]} //Creates and adds a text(0), colour(1) or web(2) resource. handle addInternalResource(string signature,int resKind); => {"jsonrpc":"2.0", "id":141, "method":"Pixera.Resources.ResourceFolder.addInternalResource", "params":{"handle":123456789, "signature":"Abcd", "resKind":1}} <= {"jsonrpc":"2.0", "id":141, "result":123456789} // Reloads for all resources in folder the files from disk, distributes changed files and creates new preview. null refreshResources(); => {"jsonrpc":"2.0", "id":142, "method":"Pixera.Resources.ResourceFolder.refreshResources", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":142} handle getInst(string instancePath); => {"jsonrpc":"2.0", "id":143, "method":"Pixera.Resources.ResourceFolder.getInst", "params":{"instancePath":"Abcd"}} <= {"jsonrpc":"2.0", "id":143, "result":123456789} handle getHandleFromInstancePath(string instancePath); => {"jsonrpc":"2.0", "id":144, "method":"Pixera.Resources.ResourceFolder.getHandleFromInstancePath", "params":{"instancePath":"Abcd"}} <= {"jsonrpc":"2.0", "id":144, "result":123456789} string getInstancePath(); => {"jsonrpc":"2.0", "id":145, "method":"Pixera.Resources.ResourceFolder.getInstancePath", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":145, "result":"Abcd"} int getDmxId(); => {"jsonrpc":"2.0", "id":146, "method":"Pixera.Resources.ResourceFolder.getDmxId", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":146, "result":1} // Get DMX Id of both the resource and its parent folder as: // Folder Id << 16, Resource Id. int getCombinedDmxId(); => {"jsonrpc":"2.0", "id":147, "method":"Pixera.Resources.ResourceFolder.getCombinedDmxId", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":147, "result":1} null setDmxId(int id); => {"jsonrpc":"2.0", "id":148, "method":"Pixera.Resources.ResourceFolder.setDmxId", "params":{"handle":123456789, "id":1}} <= {"jsonrpc":"2.0", "id":148} } class TranscodingFolder { string getUsedTranscodingPreset(); => {"jsonrpc":"2.0", "id":149, "method":"Pixera.Resources.TranscodingFolder.getUsedTranscodingPreset", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":149, "result":"Abcd"} null setUsedTranscodingPreset(string preset); => {"jsonrpc":"2.0", "id":150, "method":"Pixera.Resources.TranscodingFolder.setUsedTranscodingPreset", "params":{"handle":123456789, "preset":"Abcd"}} <= {"jsonrpc":"2.0", "id":150} boolean getTranscodeAutomatically(); => {"jsonrpc":"2.0", "id":151, "method":"Pixera.Resources.TranscodingFolder.getTranscodeAutomatically", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":151, "result":true} null setTranscodeAutomatically(boolean autoTranscode); => {"jsonrpc":"2.0", "id":152, "method":"Pixera.Resources.TranscodingFolder.setTranscodeAutomatically", "params":{"handle":123456789, "autoTranscode":true}} <= {"jsonrpc":"2.0", "id":152} boolean getUseRxCacheAsDestination(); => {"jsonrpc":"2.0", "id":153, "method":"Pixera.Resources.TranscodingFolder.getUseRxCacheAsDestination", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":153, "result":true} null setRxCacheAsDestination(boolean useRxCache); => {"jsonrpc":"2.0", "id":154, "method":"Pixera.Resources.TranscodingFolder.setRxCacheAsDestination", "params":{"handle":123456789, "useRxCache":true}} <= {"jsonrpc":"2.0", "id":154} string getDestinationDirectory(); => {"jsonrpc":"2.0", "id":155, "method":"Pixera.Resources.TranscodingFolder.getDestinationDirectory", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":155, "result":"Abcd"} null setDestinationDirectory(string path); => {"jsonrpc":"2.0", "id":156, "method":"Pixera.Resources.TranscodingFolder.setDestinationDirectory", "params":{"handle":123456789, "path":"Abcd"}} <= {"jsonrpc":"2.0", "id":156} } class Resource { // Pixera Control self-reference function. handle ref(); => {"jsonrpc":"2.0", "id":157, "method":"Pixera.Resources.Resource.ref", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":157, "result":123456789} //Removes a Resource null removeThis(); => {"jsonrpc":"2.0", "id":158, "method":"Pixera.Resources.Resource.removeThis", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":158} string getName(); => {"jsonrpc":"2.0", "id":159, "method":"Pixera.Resources.Resource.getName", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":159, "result":"Abcd"} // Returns an id based on the handle. This is currently necessary in some situations // because some API implementations can not yet consume handles as parameters. double getId(); => {"jsonrpc":"2.0", "id":160, "method":"Pixera.Resources.Resource.getId", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":160, "result":1.0} // Returns the duration of the resource in seconds. double getDuration(); => {"jsonrpc":"2.0", "id":161, "method":"Pixera.Resources.Resource.getDuration", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":161, "result":1.0} // Returns the png thumbnail data of the resource in a base 64 string. This is the // image that is shown in the resource tree. Its resolution is currently 256 * 174 // pixels. string getThumbnailAsBase64(); => {"jsonrpc":"2.0", "id":162, "method":"Pixera.Resources.Resource.getThumbnailAsBase64", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":162, "result":"Abcd"} boolean getHasPendingTransfer(); => {"jsonrpc":"2.0", "id":163, "method":"Pixera.Resources.Resource.getHasPendingTransfer", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":163, "result":true} // Sets the text of a text input resource. null setText(string text); => {"jsonrpc":"2.0", "id":164, "method":"Pixera.Resources.Resource.setText", "params":{"handle":123456789, "text":"Abcd"}} <= {"jsonrpc":"2.0", "id":164} // Gets the text of a text input resource. string getText(); => {"jsonrpc":"2.0", "id":165, "method":"Pixera.Resources.Resource.getText", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":165, "result":"Abcd"} boolean setFontWithName(string fontName); => {"jsonrpc":"2.0", "id":166, "method":"Pixera.Resources.Resource.setFontWithName", "params":{"handle":123456789, "fontName":"Abcd"}} <= {"jsonrpc":"2.0", "id":166, "result":true} string getFontName(); => {"jsonrpc":"2.0", "id":167, "method":"Pixera.Resources.Resource.getFontName", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":167, "result":"Abcd"} boolean setFontWithPath(string fontPath); => {"jsonrpc":"2.0", "id":168, "method":"Pixera.Resources.Resource.setFontWithPath", "params":{"handle":123456789, "fontPath":"Abcd"}} <= {"jsonrpc":"2.0", "id":168, "result":true} // 0 : Align Left // 1 : Align Center // 2 : Align Right boolean setHorizontalTextAlignment(int textAlignment); => {"jsonrpc":"2.0", "id":169, "method":"Pixera.Resources.Resource.setHorizontalTextAlignment", "params":{"handle":123456789, "textAlignment":1}} <= {"jsonrpc":"2.0", "id":169, "result":true} // 0 : Align Top // 1 : Align Center // 2 : Align Bottom int getHorizontalTextAlignment(); => {"jsonrpc":"2.0", "id":170, "method":"Pixera.Resources.Resource.getHorizontalTextAlignment", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":170, "result":1} boolean setVerticalTextAlignment(int textAlignment); => {"jsonrpc":"2.0", "id":171, "method":"Pixera.Resources.Resource.setVerticalTextAlignment", "params":{"handle":123456789, "textAlignment":1}} <= {"jsonrpc":"2.0", "id":171, "result":true} int getVerticalTextAlignment(); => {"jsonrpc":"2.0", "id":172, "method":"Pixera.Resources.Resource.getVerticalTextAlignment", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":172, "result":1} boolean setLineHeight(double lineHeight); => {"jsonrpc":"2.0", "id":173, "method":"Pixera.Resources.Resource.setLineHeight", "params":{"handle":123456789, "lineHeight":1.0}} <= {"jsonrpc":"2.0", "id":173, "result":true} double getLineHeight(); => {"jsonrpc":"2.0", "id":174, "method":"Pixera.Resources.Resource.getLineHeight", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":174, "result":1.0} // Returns the text-measurements width and height of the rectangle enclosing the text. The first entry of the // returned vector represents width, the second one represents height. Unit is pixels. int[] getTextMeasurementsWidthAndHeight(); => {"jsonrpc":"2.0", "id":175, "method":"Pixera.Resources.Resource.getTextMeasurementsWidthAndHeight", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":175, "result":[1, ...]} // Sets the url of a web browser resource. null setUrl(string url); => {"jsonrpc":"2.0", "id":176, "method":"Pixera.Resources.Resource.setUrl", "params":{"handle":123456789, "url":"Abcd"}} <= {"jsonrpc":"2.0", "id":176} // Gets the url of a web browser resource. string getUrl(); => {"jsonrpc":"2.0", "id":177, "method":"Pixera.Resources.Resource.getUrl", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":177, "result":"Abcd"} // Sets the path to a color transformation file to be used with the resource. null setColorTransformPath(string colorTransformPath); => {"jsonrpc":"2.0", "id":178, "method":"Pixera.Resources.Resource.setColorTransformPath", "params":{"handle":123456789, "colorTransformPath":"Abcd"}} <= {"jsonrpc":"2.0", "id":178} // Gets the path of the color transformation file be used with the resource. string getColorTransformPath(); => {"jsonrpc":"2.0", "id":179, "method":"Pixera.Resources.Resource.getColorTransformPath", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":179, "result":"Abcd"} // Reloads the file from disk, distributes changed files and creates new preview. null refresh(string text); => {"jsonrpc":"2.0", "id":180, "method":"Pixera.Resources.Resource.refresh", "params":{"handle":123456789, "text":"Abcd"}} <= {"jsonrpc":"2.0", "id":180} // Get the id used to access the resource through dmx. int getDmxId(); => {"jsonrpc":"2.0", "id":181, "method":"Pixera.Resources.Resource.getDmxId", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":181, "result":1} // Set the id used to access the resource through dmx. null setDmxId(int id); => {"jsonrpc":"2.0", "id":182, "method":"Pixera.Resources.Resource.setDmxId", "params":{"handle":123456789, "id":1}} <= {"jsonrpc":"2.0", "id":182} // Sets a color resource to show a gradient between its assigned colors. null setUseGradient(boolean useGradient); => {"jsonrpc":"2.0", "id":183, "method":"Pixera.Resources.Resource.setUseGradient", "params":{"handle":123456789, "useGradient":true}} <= {"jsonrpc":"2.0", "id":183} // Get if a color resource uses a gradient. boolean getUseGradient(); => {"jsonrpc":"2.0", "id":184, "method":"Pixera.Resources.Resource.getUseGradient", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":184, "result":true} // Set multiple colors for a color resource. // Color format is ARGB encoded in one 32 bit integer // where a << 24, r << 16, g << 8, b << 0. null setColors(uint[] argbCols,double[] positions,string[] colNames,boolean useGradient); => {"jsonrpc":"2.0", "id":185, "method":"Pixera.Resources.Resource.setColors", "params":{"handle":123456789, "argbCols":[1, ...], "positions":[1.0, ...], "colNames":[Efgh, ...], "useGradient":true}} <= {"jsonrpc":"2.0", "id":185} // Set one color of a color resource. // If index does not exist the color will be appended to the end of the color list. null setColorAtIndex(int index,int red,int green,int blue,int alpha,double position,string name,boolean useGradient); => {"jsonrpc":"2.0", "id":186, "method":"Pixera.Resources.Resource.setColorAtIndex", "params":{"handle":123456789, "index":1, "red":1, "green":1, "blue":1, "alpha":1, "position":1.0, "name":"Abcd", "useGradient":true}} <= {"jsonrpc":"2.0", "id":186} // Get color value as ARGB in a single 32 bit integer // where a << 24, r << 16, g << 8, b << 0. int getColorAtIndex(int colorIndex); => {"jsonrpc":"2.0", "id":187, "method":"Pixera.Resources.Resource.getColorAtIndex", "params":{"handle":123456789, "colorIndex":1}} <= {"jsonrpc":"2.0", "id":187, "result":1} double getColorPositionAtIndex(int colorIndex); => {"jsonrpc":"2.0", "id":188, "method":"Pixera.Resources.Resource.getColorPositionAtIndex", "params":{"handle":123456789, "colorIndex":1}} <= {"jsonrpc":"2.0", "id":188, "result":1.0} null launchVirtualWorld(string action); => {"jsonrpc":"2.0", "id":189, "method":"Pixera.Resources.Resource.launchVirtualWorld", "params":{"handle":123456789, "action":"Abcd"}} <= {"jsonrpc":"2.0", "id":189} handle getInst(string instancePath); => {"jsonrpc":"2.0", "id":190, "method":"Pixera.Resources.Resource.getInst", "params":{"instancePath":"Abcd"}} <= {"jsonrpc":"2.0", "id":190, "result":123456789} handle getHandleFromInstancePath(string instancePath); => {"jsonrpc":"2.0", "id":191, "method":"Pixera.Resources.Resource.getHandleFromInstancePath", "params":{"instancePath":"Abcd"}} <= {"jsonrpc":"2.0", "id":191, "result":123456789} string getInstancePath(); => {"jsonrpc":"2.0", "id":192, "method":"Pixera.Resources.Resource.getInstancePath", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":192, "result":"Abcd"} // Search for a transcoding preset with the given name, and if found, // moves the resource to the transcoding folder and starts transcoding it with that preset // if you want to convert all frames, set 0 as start and -1 as end frame. // serviceId is currently not used. null transcodeWithExisitngPreset(string presetName,boolean useRxCache,string destinationPath,int startFrame,int endFrame,uint serviceId); => {"jsonrpc":"2.0", "id":193, "method":"Pixera.Resources.Resource.transcodeWithExisitngPreset", "params":{"handle":123456789, "presetName":"Abcd", "useRxCache":true, "destinationPath":"Abcd", "startFrame":1, "endFrame":1, "serviceId":1}} <= {"jsonrpc":"2.0", "id":193} // Move the resource to the transcoding folder and start transcoding with a preset // in JSON format. See "Transcoding::addOrChangePreset" on how to build the JSON string null transcodeWithSettings(string settings,boolean useRxCache,string destinationPath,int startFrame,int endFrame,uint serviceId); => {"jsonrpc":"2.0", "id":194, "method":"Pixera.Resources.Resource.transcodeWithSettings", "params":{"handle":123456789, "settings":"Abcd", "useRxCache":true, "destinationPath":"Abcd", "startFrame":1, "endFrame":1, "serviceId":1}} <= {"jsonrpc":"2.0", "id":194} null moveToTranscodingFolder(string folderPath); => {"jsonrpc":"2.0", "id":195, "method":"Pixera.Resources.Resource.moveToTranscodingFolder", "params":{"handle":123456789, "folderPath":"Abcd"}} <= {"jsonrpc":"2.0", "id":195} } } namespace Timelines { // Returns the handle of the timeline at the (zero-based) index in // the Timelines listing of the Compositing tab. handle getTimelineAtIndex(int index); => {"jsonrpc":"2.0", "id":196, "method":"Pixera.Timelines.getTimelineAtIndex", "params":{"index":1}} <= {"jsonrpc":"2.0", "id":196, "result":123456789} // Returns the handle of the timeline with the given name (as shown in the // timeline list). handle getTimelineFromName(string name); => {"jsonrpc":"2.0", "id":197, "method":"Pixera.Timelines.getTimelineFromName", "params":{"name":"Abcd"}} <= {"jsonrpc":"2.0", "id":197, "result":123456789} // Returns handles to all timelines. handle[] getTimelines(); => {"jsonrpc":"2.0", "id":198, "method":"Pixera.Timelines.getTimelines"} <= {"jsonrpc":"2.0", "id":198, "result":[123456789, ...]} struct TimelineAttributes { int index; string name; double fps; int mode; } class Timeline { // Pixera Control self-reference function. handle ref(); => {"jsonrpc":"2.0", "id":199, "method":"Pixera.Timelines.Timeline.ref", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":199, "result":123456789} // Removes the timeline. null removeThis(); => {"jsonrpc":"2.0", "id":200, "method":"Pixera.Timelines.Timeline.removeThis", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":200} // Returns handles to all layers of the timeline. handle[] getLayers(); => {"jsonrpc":"2.0", "id":201, "method":"Pixera.Timelines.Timeline.getLayers", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":201, "result":[123456789, ...]} // Returns a handle to the layer in the timeline at the (zero-based) index in // the order as shown in the Pixera Timeline interface. handle getLayerAtIndex(int index); => {"jsonrpc":"2.0", "id":202, "method":"Pixera.Timelines.Timeline.getLayerAtIndex", "params":{"handle":123456789, "index":1}} <= {"jsonrpc":"2.0", "id":202, "result":123456789} // Creates a layer and returns a handle to it. handle createLayer(); => {"jsonrpc":"2.0", "id":203, "method":"Pixera.Timelines.Timeline.createLayer", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":203, "result":123456789} // Returns the handles of all cues in chronological order. handle[] getCues(); => {"jsonrpc":"2.0", "id":204, "method":"Pixera.Timelines.Timeline.getCues", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":204, "result":[123456789, ...]} // Returns the handle of the cue with the given index. // Indices are in chronological order. handle getCueAtIndex(int index); => {"jsonrpc":"2.0", "id":205, "method":"Pixera.Timelines.Timeline.getCueAtIndex", "params":{"handle":123456789, "index":1}} <= {"jsonrpc":"2.0", "id":205, "result":123456789} // Returns the handle of the cue with the given name. // If multiple cues have the same name, the handle to the first match will be returned. handle getCueFromName(string name); => {"jsonrpc":"2.0", "id":206, "method":"Pixera.Timelines.Timeline.getCueFromName", "params":{"handle":123456789, "name":"Abcd"}} <= {"jsonrpc":"2.0", "id":206, "result":123456789} // Returns the handle of the cue with the given number. // If multiple cues have the same number, the handle to the first match will be returned. handle getCueFromNumber(int number); => {"jsonrpc":"2.0", "id":207, "method":"Pixera.Timelines.Timeline.getCueFromNumber", "params":{"handle":123456789, "number":1}} <= {"jsonrpc":"2.0", "id":207, "result":123456789} // Creates a cue and returns its handle. handle createCue(string name,double time,int operation); => {"jsonrpc":"2.0", "id":208, "method":"Pixera.Timelines.Timeline.createCue", "params":{"handle":123456789, "name":"Abcd", "time":1.0, "operation":1}} <= {"jsonrpc":"2.0", "id":208, "result":123456789} // Removes all cues. null removeCues(); => {"jsonrpc":"2.0", "id":209, "method":"Pixera.Timelines.Timeline.removeCues", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":209} // Starts the timeline at the current time. null play(); => {"jsonrpc":"2.0", "id":210, "method":"Pixera.Timelines.Timeline.play", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":210} // Pauses the timeline at the current time. null pause(); => {"jsonrpc":"2.0", "id":211, "method":"Pixera.Timelines.Timeline.pause", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":211} // Stops the timeline. null stop(); => {"jsonrpc":"2.0", "id":212, "method":"Pixera.Timelines.Timeline.stop", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":212} // Stores all domination values. I.e. events are created at the current time. null store(); => {"jsonrpc":"2.0", "id":213, "method":"Pixera.Timelines.Timeline.store", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":213} // Returns the attributes of the timeline (see TimelineAttributes struct). null getAttributes(); => {"jsonrpc":"2.0", "id":214, "method":"Pixera.Timelines.Timeline.getAttributes", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":214, "result":{"index":1, "name":"Abcd", "fps":1.0, "mode":1}} // Sets the current time in frames. Use getFps(.) to relate the frames to seconds. // This method is deprecated. setCurrentTime(int time) should be used instead. boolean setCurrentFrame(int time); => {"jsonrpc":"2.0", "id":215, "method":"Pixera.Timelines.Timeline.setCurrentFrame", "params":{"handle":123456789, "time":1}} <= {"jsonrpc":"2.0", "id":215, "result":true} // Sets the current time in frames. Use getFps() to relate the frames to seconds. null setCurrentTime(int time); => {"jsonrpc":"2.0", "id":216, "method":"Pixera.Timelines.Timeline.setCurrentTime", "params":{"handle":123456789, "time":1}} <= {"jsonrpc":"2.0", "id":216} // Returns the current time in frames. Use getFps() to relate the frames to seconds. int getCurrentTime(); => {"jsonrpc":"2.0", "id":217, "method":"Pixera.Timelines.Timeline.getCurrentTime", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":217, "result":1} // Returns the current time as a hours, minutes, seconds, frames string. string getCurrentHMSF(); => {"jsonrpc":"2.0", "id":218, "method":"Pixera.Timelines.Timeline.getCurrentHMSF", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":218, "result":"Abcd"} // Sets the transport mode. // 1: Play // 2: Pause // 3: Stop boolean setTransportMode(int mode); => {"jsonrpc":"2.0", "id":219, "method":"Pixera.Timelines.Timeline.setTransportMode", "params":{"handle":123456789, "mode":1}} <= {"jsonrpc":"2.0", "id":219, "result":true} //Returns the transport mode of the timeline. int getTransportMode(); => {"jsonrpc":"2.0", "id":220, "method":"Pixera.Timelines.Timeline.getTransportMode", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":220, "result":1} // Returns the frames per second value used as a time base. double getFps(); => {"jsonrpc":"2.0", "id":221, "method":"Pixera.Timelines.Timeline.getFps", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":221, "result":1.0} // Returns the name of the timeline with the given handle. string getName(); => {"jsonrpc":"2.0", "id":222, "method":"Pixera.Timelines.Timeline.getName", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":222, "result":"Abcd"} // Moves to next cue on timeline null moveToNextCue(); => {"jsonrpc":"2.0", "id":223, "method":"Pixera.Timelines.Timeline.moveToNextCue", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":223} // Moves to previous cue on timeline. null moveToPreviousCue(); => {"jsonrpc":"2.0", "id":224, "method":"Pixera.Timelines.Timeline.moveToPreviousCue", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":224} // Ignores next cue on timeline. null ignoreNextCue(); => {"jsonrpc":"2.0", "id":225, "method":"Pixera.Timelines.Timeline.ignoreNextCue", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":225} // Fades between current and goal time. Time unit is frames. null blendToTime(double goalTime,double blendDuration); => {"jsonrpc":"2.0", "id":226, "method":"Pixera.Timelines.Timeline.blendToTime", "params":{"handle":123456789, "goalTime":1.0, "blendDuration":1.0}} <= {"jsonrpc":"2.0", "id":226} // Fades between current and goal time. Time unit is frames. The transport mode at goal time is set to // play (transportMode = 1) or pause (transportMode = 2). null blendToTimeWithTransportMode(double goalTime,double blendDuration,int transportMode); => {"jsonrpc":"2.0", "id":227, "method":"Pixera.Timelines.Timeline.blendToTimeWithTransportMode", "params":{"handle":123456789, "goalTime":1.0, "blendDuration":1.0, "transportMode":1}} <= {"jsonrpc":"2.0", "id":227} // Sets the blend-to-time mode. // 1: Cross fade // 2: Dip to black boolean setBlendToTimeMode(int mode); => {"jsonrpc":"2.0", "id":228, "method":"Pixera.Timelines.Timeline.setBlendToTimeMode", "params":{"handle":123456789, "mode":1}} <= {"jsonrpc":"2.0", "id":228, "result":true} // Sets the opacity value. null setOpacity(double value); => {"jsonrpc":"2.0", "id":229, "method":"Pixera.Timelines.Timeline.setOpacity", "params":{"handle":123456789, "value":1.0}} <= {"jsonrpc":"2.0", "id":229} // Returns the opacity value. double getOpacity(); => {"jsonrpc":"2.0", "id":230, "method":"Pixera.Timelines.Timeline.getOpacity", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":230, "result":1.0} // Starts opacity animation from current opacity to 1 (fadeIn == true) or 0 (fadeIn == false). // The parameter fullFadeDuration represents the time a complete animation from 0 to 1 or vice versa would // last. If the current opacity is inbetween, the executed fade would last less time. E.g. a fade out // starting at opacity 0.3 would last fullFadeDuration * 0.3. // Time unit is frames. null startOpacityAnimation(boolean fadeIn,double fullFadeDuration); => {"jsonrpc":"2.0", "id":231, "method":"Pixera.Timelines.Timeline.startOpacityAnimation", "params":{"handle":123456789, "fadeIn":true, "fullFadeDuration":1.0}} <= {"jsonrpc":"2.0", "id":231} // Sets the SMPTE timecode mode. // 0: None // 1: Receive // 2: Send null setSmpteMode(int mode); => {"jsonrpc":"2.0", "id":232, "method":"Pixera.Timelines.Timeline.setSmpteMode", "params":{"handle":123456789, "mode":1}} <= {"jsonrpc":"2.0", "id":232} // Returns the SMPTE timecode mode. int getSmpteMode(); => {"jsonrpc":"2.0", "id":233, "method":"Pixera.Timelines.Timeline.getSmpteMode", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":233, "result":1} handle getInst(string instancePath); => {"jsonrpc":"2.0", "id":234, "method":"Pixera.Timelines.Timeline.getInst", "params":{"instancePath":"Abcd"}} <= {"jsonrpc":"2.0", "id":234, "result":123456789} handle getHandleFromInstancePath(string instancePath); => {"jsonrpc":"2.0", "id":235, "method":"Pixera.Timelines.Timeline.getHandleFromInstancePath", "params":{"instancePath":"Abcd"}} <= {"jsonrpc":"2.0", "id":235, "result":123456789} string getInstancePath(); => {"jsonrpc":"2.0", "id":236, "method":"Pixera.Timelines.Timeline.getInstancePath", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":236, "result":"Abcd"} } class Layer { // Pixera Control self-reference function. handle ref(); => {"jsonrpc":"2.0", "id":237, "method":"Pixera.Timelines.Layer.ref", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":237, "result":123456789} //Removes a Layer null removeThis(); => {"jsonrpc":"2.0", "id":238, "method":"Pixera.Timelines.Layer.removeThis", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":238} handle[] getNodes(); => {"jsonrpc":"2.0", "id":239, "method":"Pixera.Timelines.Layer.getNodes", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":239, "result":[123456789, ...]} // Returns a node immediately below the layer based on the name displayed in the // Timeline UI (e.g. the "Position" node below a standard layer). handle getNodeWithName(string name); => {"jsonrpc":"2.0", "id":240, "method":"Pixera.Timelines.Layer.getNodeWithName", "params":{"handle":123456789, "name":"Abcd"}} <= {"jsonrpc":"2.0", "id":240, "result":123456789} // Returns a handle to a parameter node child with the given name. At the level of the // layer, this will deliver those parameters (e.g. "Transport") that are direct children // of the layer. Other parameters can be accessed via the node children of the layer // (e.g. the x position is a child of the "Position" node). handle getParamWithName(string name); => {"jsonrpc":"2.0", "id":241, "method":"Pixera.Timelines.Layer.getParamWithName", "params":{"handle":123456789, "name":"Abcd"}} <= {"jsonrpc":"2.0", "id":241, "result":123456789} // Gets the parent timeline. handle getTimeline(); => {"jsonrpc":"2.0", "id":242, "method":"Pixera.Timelines.Layer.getTimeline", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":242, "result":123456789} // Sets the name of the layer. null setName(string name); => {"jsonrpc":"2.0", "id":243, "method":"Pixera.Timelines.Layer.setName", "params":{"handle":123456789, "name":"Abcd"}} <= {"jsonrpc":"2.0", "id":243} // Gets the name of the layer. string getName(); => {"jsonrpc":"2.0", "id":244, "method":"Pixera.Timelines.Layer.getName", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":244, "result":"Abcd"} string getJsonDescrip(); => {"jsonrpc":"2.0", "id":245, "method":"Pixera.Timelines.Layer.getJsonDescrip", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":245, "result":"Abcd"} null initFromJsonDescrip(string descrip); => {"jsonrpc":"2.0", "id":246, "method":"Pixera.Timelines.Layer.initFromJsonDescrip", "params":{"handle":123456789, "descrip":"Abcd"}} <= {"jsonrpc":"2.0", "id":246} // Sets the opacity of the layer. null setOpacity(double value); => {"jsonrpc":"2.0", "id":247, "method":"Pixera.Timelines.Layer.setOpacity", "params":{"handle":123456789, "value":1.0}} <= {"jsonrpc":"2.0", "id":247} // Gets the opacity of the layer. double getOpacity(); => {"jsonrpc":"2.0", "id":248, "method":"Pixera.Timelines.Layer.getOpacity", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":248, "result":1.0} // Mute the layer. null muteLayer(); => {"jsonrpc":"2.0", "id":249, "method":"Pixera.Timelines.Layer.muteLayer", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":249} // Un-Mute the layer. null unMuteLayer(); => {"jsonrpc":"2.0", "id":250, "method":"Pixera.Timelines.Layer.unMuteLayer", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":250} boolean getIsLayerMuted(); => {"jsonrpc":"2.0", "id":251, "method":"Pixera.Timelines.Layer.getIsLayerMuted", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":251, "result":true} // The Dmx mute state is encoded in a single 32-Bit value. // Muting and unMuting is done by performing bitwise operations. // The first 18 FX can be muted individually. // The Value for those is: (2^fxIndex) // None: 0x0 // Transport: 0x1 // Opacity: 0x2 // Position: 0x4 // Rotation: 0x8 // Scale: 0x10 // FxStart = 0x20 // FxEnd = 0x400000 // FxAll = 0x7FFFE0 // All = 0x7FFFFF int getDmxMuteState(); => {"jsonrpc":"2.0", "id":252, "method":"Pixera.Timelines.Layer.getDmxMuteState", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":252, "result":1} null setDmxMuteState(uint muteState); => {"jsonrpc":"2.0", "id":253, "method":"Pixera.Timelines.Layer.setDmxMuteState", "params":{"handle":123456789, "muteState":1}} <= {"jsonrpc":"2.0", "id":253} null toggleExplicitMute(uint flag); => {"jsonrpc":"2.0", "id":254, "method":"Pixera.Timelines.Layer.toggleExplicitMute", "params":{"handle":123456789, "flag":1}} <= {"jsonrpc":"2.0", "id":254} // Sets the mode and loop state of the layer's transport parameter. null setTransport(int mode,boolean loop); => {"jsonrpc":"2.0", "id":255, "method":"Pixera.Timelines.Layer.setTransport", "params":{"handle":123456789, "mode":1, "loop":true}} <= {"jsonrpc":"2.0", "id":255} // Gets the mode of the layer's transport parameter. int getTransportMode(); => {"jsonrpc":"2.0", "id":256, "method":"Pixera.Timelines.Layer.getTransportMode", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":256, "result":1} // Gets the loop state of the layer's transport parameter. boolean getTransportLoop(); => {"jsonrpc":"2.0", "id":257, "method":"Pixera.Timelines.Layer.getTransportLoop", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":257, "result":true} // Assigns a resource to the layer. The id is conceptually the handle but the // handle can not be passed directly for some implementations of the API. Therefore, // Resource.getId() should be used to fill this parameter. // Note that, up to and including API revision 14, this function took effect by // changing the resource assignment of the current clip. From revision 15 onwards, // the function works by assigning the resource to the layer as a current value // independent of the clips in the layer. null assignResource(double id); => {"jsonrpc":"2.0", "id":258, "method":"Pixera.Timelines.Layer.assignResource", "params":{"handle":123456789, "id":1.0}} <= {"jsonrpc":"2.0", "id":258} // Returns the resource currently assigned to the layer. handle getAssignedResource(); => {"jsonrpc":"2.0", "id":259, "method":"Pixera.Timelines.Layer.getAssignedResource", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":259, "result":123456789} // Creates a clip and returns a handle to it. handle createClip(); => {"jsonrpc":"2.0", "id":260, "method":"Pixera.Timelines.Layer.createClip", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":260, "result":123456789} // Creates a clip at the given time and returns a handle to it. handle createClipAtTime(double time); => {"jsonrpc":"2.0", "id":261, "method":"Pixera.Timelines.Layer.createClipAtTime", "params":{"handle":123456789, "time":1.0}} <= {"jsonrpc":"2.0", "id":261, "result":123456789} null controlClipBorder(handle clip,boolean isEnter,boolean isIncremental,double entryTime); => {"jsonrpc":"2.0", "id":262, "method":"Pixera.Timelines.Layer.controlClipBorder", "params":{"handle":123456789, "clip":123456789, "isEnter":true, "isIncremental":true, "entryTime":1.0}} <= {"jsonrpc":"2.0", "id":262} // Returns the clip at the given index. Index is 0-based. handle getClipAtIndex(int index); => {"jsonrpc":"2.0", "id":263, "method":"Pixera.Timelines.Layer.getClipAtIndex", "params":{"handle":123456789, "index":1}} <= {"jsonrpc":"2.0", "id":263, "result":123456789} // Returns all clips. handle[] getClips(); => {"jsonrpc":"2.0", "id":264, "method":"Pixera.Timelines.Layer.getClips", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":264, "result":[123456789, ...]} // Removes all clips. null removeClips(); => {"jsonrpc":"2.0", "id":265, "method":"Pixera.Timelines.Layer.removeClips", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":265} // Sets the screen with name given as layer's home screen. null setHomeScreenFromScreenName(string screenName); => {"jsonrpc":"2.0", "id":266, "method":"Pixera.Timelines.Layer.setHomeScreenFromScreenName", "params":{"handle":123456789, "screenName":"Abcd"}} <= {"jsonrpc":"2.0", "id":266} // Returns the name of the current home screen. string getHomeScreenName(); => {"jsonrpc":"2.0", "id":267, "method":"Pixera.Timelines.Layer.getHomeScreenName", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":267, "result":"Abcd"} handle getInst(string instancePath); => {"jsonrpc":"2.0", "id":268, "method":"Pixera.Timelines.Layer.getInst", "params":{"instancePath":"Abcd"}} <= {"jsonrpc":"2.0", "id":268, "result":123456789} handle getHandleFromInstancePath(string instancePath); => {"jsonrpc":"2.0", "id":269, "method":"Pixera.Timelines.Layer.getHandleFromInstancePath", "params":{"instancePath":"Abcd"}} <= {"jsonrpc":"2.0", "id":269, "result":123456789} string getInstancePath(); => {"jsonrpc":"2.0", "id":270, "method":"Pixera.Timelines.Layer.getInstancePath", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":270, "result":"Abcd"} } class Clip { // Returns an id based on the handle. This is currently necessary in some situations // because some API implementations can not yet consume handles as parameters. double getId(); => {"jsonrpc":"2.0", "id":271, "method":"Pixera.Timelines.Clip.getId", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":271, "result":1.0} // Removes the clip. null removeThis(); => {"jsonrpc":"2.0", "id":272, "method":"Pixera.Timelines.Clip.removeThis", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":272} // Returns a handle to the timeline in which the clip is situated. handle getTimeline(); => {"jsonrpc":"2.0", "id":273, "method":"Pixera.Timelines.Clip.getTimeline", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":273, "result":123456789} null setTime(double time); => {"jsonrpc":"2.0", "id":274, "method":"Pixera.Timelines.Clip.setTime", "params":{"handle":123456789, "time":1.0}} <= {"jsonrpc":"2.0", "id":274} double getTime(); => {"jsonrpc":"2.0", "id":275, "method":"Pixera.Timelines.Clip.getTime", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":275, "result":1.0} null setDuration(double duration); => {"jsonrpc":"2.0", "id":276, "method":"Pixera.Timelines.Clip.setDuration", "params":{"handle":123456789, "duration":1.0}} <= {"jsonrpc":"2.0", "id":276} double getDuration(); => {"jsonrpc":"2.0", "id":277, "method":"Pixera.Timelines.Clip.getDuration", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":277, "result":1.0} null setLabel(string label); => {"jsonrpc":"2.0", "id":278, "method":"Pixera.Timelines.Clip.setLabel", "params":{"handle":123456789, "label":"Abcd"}} <= {"jsonrpc":"2.0", "id":278} string getLabel(); => {"jsonrpc":"2.0", "id":279, "method":"Pixera.Timelines.Clip.getLabel", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":279, "result":"Abcd"} // Play modes: // 1: Lock to time // 2: Play once // 3: Loop // 4: Pause at endpoint // 5: Lock to time no loop int getPlayMode(); => {"jsonrpc":"2.0", "id":280, "method":"Pixera.Timelines.Clip.getPlayMode", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":280, "result":1} null setPlayMode(int playMode); => {"jsonrpc":"2.0", "id":281, "method":"Pixera.Timelines.Clip.setPlayMode", "params":{"handle":123456789, "playMode":1}} <= {"jsonrpc":"2.0", "id":281} // Assigns a resource to the resource parameter within the clip. // Conceptually, the resId is a handle but the handle can not be passed directly for // some implementations of the API. Therefore, Resource.getId() should be used to // fill this parameter. null assignResource(double resId); => {"jsonrpc":"2.0", "id":282, "method":"Pixera.Timelines.Clip.assignResource", "params":{"handle":123456789, "resId":1.0}} <= {"jsonrpc":"2.0", "id":282} // Creates a key at the given time with the given value in the clip parameter specified by // namePath, with the parts of namePath consisting of the strings shown in the timeline UI. // E.g. "Position/x" refers to the parameter responsible for the x position of the layer. // The name of this method may be changed in future versions of the API to reflect the // "key" (instead of "event") terminology. null createEvent(string namePath,double time,double value); => {"jsonrpc":"2.0", "id":283, "method":"Pixera.Timelines.Clip.createEvent", "params":{"handle":123456789, "namePath":"Abcd", "time":1.0, "value":1.0}} <= {"jsonrpc":"2.0", "id":283} } // Returns a handle for the node specified by id after checking that a node with the id exists. // Conceptually, the id and the handle are the same but some implementations of the API can not // yet consume handles as parameters, making it necessary to translate between the two occasionally. handle getNodeFromId(double id); => {"jsonrpc":"2.0", "id":284, "method":"Pixera.Timelines.getNodeFromId", "params":{"id":1.0}} <= {"jsonrpc":"2.0", "id":284, "result":123456789} class Node { handle[] getParameters(); => {"jsonrpc":"2.0", "id":285, "method":"Pixera.Timelines.Node.getParameters", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":285, "result":[123456789, ...]} string getName(); => {"jsonrpc":"2.0", "id":286, "method":"Pixera.Timelines.Node.getName", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":286, "result":"Abcd"} // Returns a handle to a parameter node child with the given name. E.g. if the current // node is the "Position" folder then the name "x" would return the parameter node // representing the x position of the layer. handle getParamWithName(string name); => {"jsonrpc":"2.0", "id":287, "method":"Pixera.Timelines.Node.getParamWithName", "params":{"handle":123456789, "name":"Abcd"}} <= {"jsonrpc":"2.0", "id":287, "result":123456789} // Sets the values of the children of the node in the order that they are displayed // in the timeline. This allows e.g. setting the x, y, and z values of a node with // one invocation. null setValues(double[] values); => {"jsonrpc":"2.0", "id":288, "method":"Pixera.Timelines.Node.setValues", "params":{"handle":123456789, "values":[1.0, ...]}} <= {"jsonrpc":"2.0", "id":288} // Returns a handle to the timeline that holds the node. handle getTimeline(); => {"jsonrpc":"2.0", "id":289, "method":"Pixera.Timelines.Node.getTimeline", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":289, "result":123456789} handle getInst(string instancePath); => {"jsonrpc":"2.0", "id":290, "method":"Pixera.Timelines.Node.getInst", "params":{"instancePath":"Abcd"}} <= {"jsonrpc":"2.0", "id":290, "result":123456789} handle getHandleFromInstancePath(string instancePath); => {"jsonrpc":"2.0", "id":291, "method":"Pixera.Timelines.Node.getHandleFromInstancePath", "params":{"instancePath":"Abcd"}} <= {"jsonrpc":"2.0", "id":291, "result":123456789} string getInstancePath(); => {"jsonrpc":"2.0", "id":292, "method":"Pixera.Timelines.Node.getInstancePath", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":292, "result":"Abcd"} } // Attributes of the transport parameter's state (see // Param.setTransportAttributes()). struct TransportAttributes { int mode; double speed; boolean loop; double inpoint; double outpoint; } class Param { string getName(); => {"jsonrpc":"2.0", "id":293, "method":"Pixera.Timelines.Param.getName", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":293, "result":"Abcd"} boolean getIsChannel(); => {"jsonrpc":"2.0", "id":294, "method":"Pixera.Timelines.Param.getIsChannel", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":294, "result":true} null setValue(double value); => {"jsonrpc":"2.0", "id":295, "method":"Pixera.Timelines.Param.setValue", "params":{"handle":123456789, "value":1.0}} <= {"jsonrpc":"2.0", "id":295} double getValue(); => {"jsonrpc":"2.0", "id":296, "method":"Pixera.Timelines.Param.getValue", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":296, "result":1.0} // Sets the transport state. Only effective for the "Transport" parameter of each layer. // Mode is as defined for Timelines.Timeline.setTransportMode(). // inpoint and outpoint are in frames. Inpoint of zero is ignored at pause. Outpoint of zero is always ignored. null setTransportAttributes(int mode,double speed,boolean loop,int inpoint,int outpoint); => {"jsonrpc":"2.0", "id":297, "method":"Pixera.Timelines.Param.setTransportAttributes", "params":{"handle":123456789, "mode":1, "speed":1.0, "loop":true, "inpoint":1, "outpoint":1}} <= {"jsonrpc":"2.0", "id":297} // Returns the attributes of the current transport state. null getAttributes(); => {"jsonrpc":"2.0", "id":298, "method":"Pixera.Timelines.Param.getAttributes", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":298, "result":{"mode":1, "speed":1.0, "loop":true, "inpoint":1.0, "outpoint":1.0}} handle getInst(string instancePath); => {"jsonrpc":"2.0", "id":299, "method":"Pixera.Timelines.Param.getInst", "params":{"instancePath":"Abcd"}} <= {"jsonrpc":"2.0", "id":299, "result":123456789} handle getHandleFromInstancePath(string instancePath); => {"jsonrpc":"2.0", "id":300, "method":"Pixera.Timelines.Param.getHandleFromInstancePath", "params":{"instancePath":"Abcd"}} <= {"jsonrpc":"2.0", "id":300, "result":123456789} string getInstancePath(); => {"jsonrpc":"2.0", "id":301, "method":"Pixera.Timelines.Param.getInstancePath", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":301, "result":"Abcd"} } // Struct delivered by Cue.getCueAttributes. // The members are the same as the return values of the corresponding accessor methods. struct CueAttributes { int index; string name; int operation; int jumpMode; double jumpGoalTime; string jumpGoalLabel; handle jumpGoalCue; int number; double waitDuration; } class Cue { //Remove Cue null removeThis(); => {"jsonrpc":"2.0", "id":302, "method":"Pixera.Timelines.Cue.removeThis", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":302} // Jumps to and executes the cue. null apply(); => {"jsonrpc":"2.0", "id":303, "method":"Pixera.Timelines.Cue.apply", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":303} // Blends to and executes the cue. Parameter blendDuration in seconds. null blendToThis(double blendDuration); => {"jsonrpc":"2.0", "id":304, "method":"Pixera.Timelines.Cue.blendToThis", "params":{"handle":123456789, "blendDuration":1.0}} <= {"jsonrpc":"2.0", "id":304} // Returns the attributes of the cue (see CueAttributes struct). null getAttributes(); => {"jsonrpc":"2.0", "id":305, "method":"Pixera.Timelines.Cue.getAttributes", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":305, "result":{"index":1, "name":"Abcd", "operation":1, "jumpMode":1, "jumpGoalTime":1.0, "jumpGoalLabel":"Abcd", "jumpGoalCue":123456789, "number":1, "waitDuration":1.0}} // Returns a handle to the timeline in which the cue is situated. handle getTimeline(); => {"jsonrpc":"2.0", "id":306, "method":"Pixera.Timelines.Cue.getTimeline", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":306, "result":123456789} // Returns the time-ordered index of the cue in the timeline (-1 if the cue is not found). int getIndex(); => {"jsonrpc":"2.0", "id":307, "method":"Pixera.Timelines.Cue.getIndex", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":307, "result":1} // Returns the name of the cue. string getName(); => {"jsonrpc":"2.0", "id":308, "method":"Pixera.Timelines.Cue.getName", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":308, "result":"Abcd"} // Sets the name of the cue. boolean setName(string name); => {"jsonrpc":"2.0", "id":309, "method":"Pixera.Timelines.Cue.setName", "params":{"handle":123456789, "name":"Abcd"}} <= {"jsonrpc":"2.0", "id":309, "result":true} // Returns the operation mode of the cue. // 0: None // 1: Play // 2: Pause // 3: Stop // 4: Jump int getOperation(); => {"jsonrpc":"2.0", "id":310, "method":"Pixera.Timelines.Cue.getOperation", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":310, "result":1} // Sets the operation mode for the cue. // 0: None // 1: Play // 2: Pause // 3: Stop // 4: Jump boolean setOperation(int operation); => {"jsonrpc":"2.0", "id":311, "method":"Pixera.Timelines.Cue.setOperation", "params":{"handle":123456789, "operation":1}} <= {"jsonrpc":"2.0", "id":311, "result":true} // Returns the jump mode of the cue. // 0: None // 1: To time // 2: To cue int getJumpMode(); => {"jsonrpc":"2.0", "id":312, "method":"Pixera.Timelines.Cue.getJumpMode", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":312, "result":1} // Sets jump mode of cue with given handle (this only affects the cue // if it has its operation set to "jump"). // 0: None // 1: To time // 2: To cue boolean setJumpMode(int jumpMode); => {"jsonrpc":"2.0", "id":313, "method":"Pixera.Timelines.Cue.setJumpMode", "params":{"handle":123456789, "jumpMode":1}} <= {"jsonrpc":"2.0", "id":313, "result":true} // Returns the time in frames of the jump goal of the cue. double getJumpGoalTime(); => {"jsonrpc":"2.0", "id":314, "method":"Pixera.Timelines.Cue.getJumpGoalTime", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":314, "result":1.0} // Sets the time where the timline should jump to if the cue is reached. // This only affects the cue if it's set to jumpToTime. boolean setJumpGoalTime(double time); => {"jsonrpc":"2.0", "id":315, "method":"Pixera.Timelines.Cue.setJumpGoalTime", "params":{"handle":123456789, "time":1.0}} <= {"jsonrpc":"2.0", "id":315, "result":true} // Returns the name of the cue the timeline should jump to if the cue is reached. string getJumpGoalLabel(); => {"jsonrpc":"2.0", "id":316, "method":"Pixera.Timelines.Cue.getJumpGoalLabel", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":316, "result":"Abcd"} // Returns the handle of the cue the timeline should jump to if the cue is reached. handle getJumpGoalCue(); => {"jsonrpc":"2.0", "id":317, "method":"Pixera.Timelines.Cue.getJumpGoalCue", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":317, "result":123456789} // Sets the name of the cue to which the timeline should jump if the cue is reached. // This only affects the cue if it's set to jumpToLabel. boolean setJumpGoalLabel(string jumpGoalLabel); => {"jsonrpc":"2.0", "id":318, "method":"Pixera.Timelines.Cue.setJumpGoalLabel", "params":{"handle":123456789, "jumpGoalLabel":"Abcd"}} <= {"jsonrpc":"2.0", "id":318, "result":true} // Returns the number of the cue. int getNumber(); => {"jsonrpc":"2.0", "id":319, "method":"Pixera.Timelines.Cue.getNumber", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":319, "result":1} // Sets the number of the cue. null setNumber(int number); => {"jsonrpc":"2.0", "id":320, "method":"Pixera.Timelines.Cue.setNumber", "params":{"handle":123456789, "number":1}} <= {"jsonrpc":"2.0", "id":320} // Returns the time in frames that the cue will cause the timeline to wait when // it is reached before the cue is applied. double getWaitDuration(); => {"jsonrpc":"2.0", "id":321, "method":"Pixera.Timelines.Cue.getWaitDuration", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":321, "result":1.0} // Sets the time in frames that the cue will cause the timeline to wait when // it is reached before the cue is applied. boolean setWaitDuration(double time); => {"jsonrpc":"2.0", "id":322, "method":"Pixera.Timelines.Cue.setWaitDuration", "params":{"handle":123456789, "time":1.0}} <= {"jsonrpc":"2.0", "id":322, "result":true} // Returns the time in frames, the blending between this cue and its jump target takes. double getBlendDuration(); => {"jsonrpc":"2.0", "id":323, "method":"Pixera.Timelines.Cue.getBlendDuration", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":323, "result":1.0} // Sets the blend duration of a cue. boolean setBlendDuration(double time); => {"jsonrpc":"2.0", "id":324, "method":"Pixera.Timelines.Cue.setBlendDuration", "params":{"handle":123456789, "time":1.0}} <= {"jsonrpc":"2.0", "id":324, "result":true} // Returns the time in frames for the cue. double getTime(); => {"jsonrpc":"2.0", "id":325, "method":"Pixera.Timelines.Cue.getTime", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":325, "result":1.0} // Sets the time of the cue. boolean setTime(double time); => {"jsonrpc":"2.0", "id":326, "method":"Pixera.Timelines.Cue.setTime", "params":{"handle":123456789, "time":1.0}} <= {"jsonrpc":"2.0", "id":326, "result":true} handle getInst(string instancePath); => {"jsonrpc":"2.0", "id":327, "method":"Pixera.Timelines.Cue.getInst", "params":{"instancePath":"Abcd"}} <= {"jsonrpc":"2.0", "id":327, "result":123456789} handle getHandleFromInstancePath(string instancePath); => {"jsonrpc":"2.0", "id":328, "method":"Pixera.Timelines.Cue.getHandleFromInstancePath", "params":{"instancePath":"Abcd"}} <= {"jsonrpc":"2.0", "id":328, "result":123456789} string getInstancePath(); => {"jsonrpc":"2.0", "id":329, "method":"Pixera.Timelines.Cue.getInstancePath", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":329, "result":"Abcd"} } } namespace Calibration { // Sets the marker positions for projector calibration with external data. // Positions must contain the marker coordinates in world space in consecutive order // like this: x1, y1, z1, x2, y2, z2, x3, y3, z3, ... // markerIds must contain a unique integer id for each marker in the same order as // the marker positions. The markerIds matching the coordinates example are 1,2,3. null setMarkerPositions(double[] positions,int[] markerIds); => {"jsonrpc":"2.0", "id":330, "method":"Pixera.Calibration.setMarkerPositions", "params":{"positions":[1.0, ...], "markerIds":[1, ...]}} <= {"jsonrpc":"2.0", "id":330} } namespace WebViews { null loadDeviceUi(string devicePath); => {"jsonrpc":"2.0", "id":331, "method":"Pixera.WebViews.loadDeviceUi", "params":{"devicePath":"Abcd"}} <= {"jsonrpc":"2.0", "id":331} null activatePreviousFunc(); => {"jsonrpc":"2.0", "id":332, "method":"Pixera.WebViews.activatePreviousFunc"} <= {"jsonrpc":"2.0", "id":332} null activateNextFunc(); => {"jsonrpc":"2.0", "id":333, "method":"Pixera.WebViews.activateNextFunc"} <= {"jsonrpc":"2.0", "id":333} string getLastActivatedFunc(); => {"jsonrpc":"2.0", "id":334, "method":"Pixera.WebViews.getLastActivatedFunc"} <= {"jsonrpc":"2.0", "id":334, "result":"Abcd"} null deviceActivated(string devicePath,boolean withSelection); => {"jsonrpc":"2.0", "id":335, "method":"Pixera.WebViews.deviceActivated", "params":{"devicePath":"Abcd", "withSelection":true}} <= {"jsonrpc":"2.0", "id":335} null funcActivated(string funcPath,boolean withSelection); => {"jsonrpc":"2.0", "id":336, "method":"Pixera.WebViews.funcActivated", "params":{"funcPath":"Abcd", "withSelection":true}} <= {"jsonrpc":"2.0", "id":336} null setFuncBodyState(string funcPath,string state); => {"jsonrpc":"2.0", "id":337, "method":"Pixera.WebViews.setFuncBodyState", "params":{"funcPath":"Abcd", "state":"Abcd"}} <= {"jsonrpc":"2.0", "id":337} string getFuncBodyState(string funcPath); => {"jsonrpc":"2.0", "id":338, "method":"Pixera.WebViews.getFuncBodyState", "params":{"funcPath":"Abcd"}} <= {"jsonrpc":"2.0", "id":338, "result":"Abcd"} null setTag(string tag,string text); => {"jsonrpc":"2.0", "id":339, "method":"Pixera.WebViews.setTag", "params":{"tag":"Abcd", "text":"Abcd"}} <= {"jsonrpc":"2.0", "id":339} null setEditorIsUsingBlocks(boolean useBlocks); => {"jsonrpc":"2.0", "id":340, "method":"Pixera.WebViews.setEditorIsUsingBlocks", "params":{"useBlocks":true}} <= {"jsonrpc":"2.0", "id":340} } // Ui namespace is only accessible from plugins hosted in Pixera, i.e. it is // not relevant to external API access. namespace Ui { handle getComboBoxWithId(double id); => {"jsonrpc":"2.0", "id":341, "method":"Pixera.Ui.getComboBoxWithId", "params":{"id":1.0}} <= {"jsonrpc":"2.0", "id":341, "result":123456789} class ComboBox { null clear(); => {"jsonrpc":"2.0", "id":342, "method":"Pixera.Ui.ComboBox.clear", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":342} null addItem(string item,int id); => {"jsonrpc":"2.0", "id":343, "method":"Pixera.Ui.ComboBox.addItem", "params":{"handle":123456789, "item":"Abcd", "id":1}} <= {"jsonrpc":"2.0", "id":343} null setSelectedId(int id); => {"jsonrpc":"2.0", "id":344, "method":"Pixera.Ui.ComboBox.setSelectedId", "params":{"handle":123456789, "id":1}} <= {"jsonrpc":"2.0", "id":344} int getSelectedId(); => {"jsonrpc":"2.0", "id":345, "method":"Pixera.Ui.ComboBox.getSelectedId", "params":{"handle":123456789}} <= {"jsonrpc":"2.0", "id":345, "result":1} } } namespace Direct { // Sets all entities registered in the current thread. Entities that were previously // registered that are not in the handle array are removed. // usageHints is either empty or it contains one entry for each handle. Possible entries are: // "screen" // "perspective" // "parameter" // "studioCamera" null setRegistered(handle[] hdls,int expectedFrequency,int dampingMs,string[] usageHints); => {"jsonrpc":"2.0", "id":346, "method":"Pixera.Direct.setRegistered", "params":{"hdls":[123456789, ...], "expectedFrequency":1, "dampingMs":1, "usageHints":[Efgh, ...]}} <= {"jsonrpc":"2.0", "id":346} // Updates the representation of all registered entities. null reloadRegistered(); => {"jsonrpc":"2.0", "id":347, "method":"Pixera.Direct.reloadRegistered"} <= {"jsonrpc":"2.0", "id":347} // Register the screen for use with the Direct API. handle registerScreen(string name,int expectedFrequency,int dampingMs); => {"jsonrpc":"2.0", "id":348, "method":"Pixera.Direct.registerScreen", "params":{"name":"Abcd", "expectedFrequency":1, "dampingMs":1}} <= {"jsonrpc":"2.0", "id":348, "result":123456789} class Screen { // Sets the position in meters. null setPosition(double xPos,double yPos,double zPos); => {"jsonrpc":"2.0", "id":349, "method":"Pixera.Direct.Screen.setPosition", "params":{"handle":123456789, "xPos":1.0, "yPos":1.0, "zPos":1.0}} <= {"jsonrpc":"2.0", "id":349} // Sets the rotation in degrees. null setRotation(double xRot,double yRot,double zRot); => {"jsonrpc":"2.0", "id":350, "method":"Pixera.Direct.Screen.setRotation", "params":{"handle":123456789, "xRot":1.0, "yRot":1.0, "zRot":1.0}} <= {"jsonrpc":"2.0", "id":350} // Sets position and rotation in one API call. null setPosRot(double xPos,double yPos,double zPos,double xRot,double yRot,double zRot); => {"jsonrpc":"2.0", "id":351, "method":"Pixera.Direct.Screen.setPosRot", "params":{"handle":123456789, "xPos":1.0, "yPos":1.0, "zPos":1.0, "xRot":1.0, "yRot":1.0, "zRot":1.0}} <= {"jsonrpc":"2.0", "id":351} // Enables time logging for the screen. Every 10 seconds values are printed to the pixera log // showing the number of messages and the minimum and maximum time between two messages for every second. null enableLogging(boolean enable); => {"jsonrpc":"2.0", "id":352, "method":"Pixera.Direct.Screen.enableLogging", "params":{"handle":123456789, "enable":true}} <= {"jsonrpc":"2.0", "id":352} } // Register the parameter for use with the Direct API. At the time when this function is executed // the layer should already have been displayed at least once. Otherwise the relevant underlying // attributes may not have been initialized yet and can not be cached. // The instance path traces the name hierarchy in the timeline tree. E.g. "Timeline 1.Position.x". handle registerParam(string instancePath); => {"jsonrpc":"2.0", "id":353, "method":"Pixera.Direct.registerParam", "params":{"instancePath":"Abcd"}} <= {"jsonrpc":"2.0", "id":353, "result":123456789} class Param { // Sets the param value. Note that this will bypass conversions and offsets determined by the GUI. // E.g. layer-level offsets will not be taken into account and neither will resource-dependent scaling. null setValue(double value); => {"jsonrpc":"2.0", "id":354, "method":"Pixera.Direct.Param.setValue", "params":{"handle":123456789, "value":1.0}} <= {"jsonrpc":"2.0", "id":354} // Enables time logging for the param. Every 10 seconds values are printed to the pixera log // showing the number of messages and the minimum and maximum time between two messages for every second. null enableLogging(boolean enable); => {"jsonrpc":"2.0", "id":355, "method":"Pixera.Direct.Param.enableLogging", "params":{"handle":123456789, "enable":true}} <= {"jsonrpc":"2.0", "id":355} } // Register the camera with the screen group name for use with the Direct API. handle registerCamera(string cameraName,int expectedFrequency); => {"jsonrpc":"2.0", "id":356, "method":"Pixera.Direct.registerCamera", "params":{"cameraName":"Abcd", "expectedFrequency":1}} <= {"jsonrpc":"2.0", "id":356, "result":123456789} class Camera { // Sets the position in meters, rotation and fov in degrees. null setTransformation(double xPos,double yPos,double zPos,double xRot,double yRot,double zRot,double fov,double aspectRatio); => {"jsonrpc":"2.0", "id":357, "method":"Pixera.Direct.Camera.setTransformation", "params":{"handle":123456789, "xPos":1.0, "yPos":1.0, "zPos":1.0, "xRot":1.0, "yRot":1.0, "zRot":1.0, "fov":1.0, "aspectRatio":1.0}} <= {"jsonrpc":"2.0", "id":357} // Sets the position in meters, rotation and fov in degrees, centerX, centerX and panelWidth in millimeters. null setTransformationAndLensProps(double xPos,double yPos,double zPos,double xRot,double yRot,double zRot,double fov,double aspectRatio,double nearClip,double farClip,double aperture,double focus,double iris,double k1,double k2,double centerX,double centerY,double panelWidth); => {"jsonrpc":"2.0", "id":358, "method":"Pixera.Direct.Camera.setTransformationAndLensProps", "params":{"handle":123456789, "xPos":1.0, "yPos":1.0, "zPos":1.0, "xRot":1.0, "yRot":1.0, "zRot":1.0, "fov":1.0, "aspectRatio":1.0, "nearClip":1.0, "farClip":1.0, "aperture":1.0, "focus":1.0, "iris":1.0, "k1":1.0, "k2":1.0, "centerX":1.0, "centerY":1.0, "panelWidth":1.0}} <= {"jsonrpc":"2.0", "id":358} // Sets the position in meters, rotation and fov in degrees, centerX, centerX and panelWidth in millimeters. null setTransformationAndLensPropsExt(double xPos,double yPos,double zPos,double xRot,double yRot,double zRot,double fov,double aspectRatio,double nearClip,double farClip,double aperture,double focus,double focalDistance,double zoom,double iris,double k1,double k2,double k3,double p1,double p2,double centerX,double centerY,double panelWidth,double overscan); => {"jsonrpc":"2.0", "id":359, "method":"Pixera.Direct.Camera.setTransformationAndLensPropsExt", "params":{"handle":123456789, "xPos":1.0, "yPos":1.0, "zPos":1.0, "xRot":1.0, "yRot":1.0, "zRot":1.0, "fov":1.0, "aspectRatio":1.0, "nearClip":1.0, "farClip":1.0, "aperture":1.0, "focus":1.0, "focalDistance":1.0, "zoom":1.0, "iris":1.0, "k1":1.0, "k2":1.0, "k3":1.0, "p1":1.0, "p2":1.0, "centerX":1.0, "centerY":1.0, "panelWidth":1.0, "overscan":1.0}} <= {"jsonrpc":"2.0", "id":359} } // Register the perspective with the screen name for use with the Direct API. handle registerPerspective(string screenName,int expectedFrequency); => {"jsonrpc":"2.0", "id":360, "method":"Pixera.Direct.registerPerspective", "params":{"screenName":"Abcd", "expectedFrequency":1}} <= {"jsonrpc":"2.0", "id":360, "result":123456789} class Perspective { // Sets the position in meters, rotation and fov in degrees. null setTransformation(double xPos,double yPos,double zPos,double xRot,double yRot,double zRot,double fov,double aspectRatio); => {"jsonrpc":"2.0", "id":361, "method":"Pixera.Direct.Perspective.setTransformation", "params":{"handle":123456789, "xPos":1.0, "yPos":1.0, "zPos":1.0, "xRot":1.0, "yRot":1.0, "zRot":1.0, "fov":1.0, "aspectRatio":1.0}} <= {"jsonrpc":"2.0", "id":361} // Sets the position in meters, rotation and fov in degrees. null setTransformationAndLensProps(double xPos,double yPos,double zPos,double xRot,double yRot,double zRot,double fov,double aspectRatio,double nearClip,double farClip,double aperture,double focus,double iris,double k1,double k2,double centerX,double centerY,double panelWidth); => {"jsonrpc":"2.0", "id":362, "method":"Pixera.Direct.Perspective.setTransformationAndLensProps", "params":{"handle":123456789, "xPos":1.0, "yPos":1.0, "zPos":1.0, "xRot":1.0, "yRot":1.0, "zRot":1.0, "fov":1.0, "aspectRatio":1.0, "nearClip":1.0, "farClip":1.0, "aperture":1.0, "focus":1.0, "iris":1.0, "k1":1.0, "k2":1.0, "centerX":1.0, "centerY":1.0, "panelWidth":1.0}} <= {"jsonrpc":"2.0", "id":362} } } namespace Unreal { namespace Utility { int getSupportedUnrealPluginVersion(); => {"jsonrpc":"2.0", "id":363, "method":"Pixera.Unreal.Utility.getSupportedUnrealPluginVersion"} <= {"jsonrpc":"2.0", "id":363, "result":1} } namespace Network { } } }