API Reference

Autograph Module

class Autograph.AVProjectItem
createAudioEffectSharedInstance(self: Autograph.AVProjectItem) Autograph.Effect
getMainAudioEffectInstance(self: Autograph.AVProjectItem) Autograph.Effect
hasAudio(self: Autograph.AVProjectItem) bool

Returns true if the media file has an audio track

hasVideo(self: Autograph.AVProjectItem) bool

Returns true if the media file has a video track or is an image

class Autograph.Application

Application is the main singleton object giving access to all objects of Autograph throughout the lifetime of the process.

Any = <EffectType.Any: 13>
Audio = <EffectType.Audio: 9>
Boolean = <EffectType.Boolean: 6>
class EffectType
Any = <EffectType.Any: 13>
Audio = <EffectType.Audio: 9>
Boolean = <EffectType.Boolean: 6>
Image = <EffectType.Image: 8>
Material3D = <EffectType.Material3D: 11>
Mesh3D = <EffectType.Mesh3D: 10>
Numeric = <EffectType.Numeric: 0>
Numeric2D = <EffectType.Numeric2D: 1>
Numeric3D = <EffectType.Numeric3D: 2>
Numeric4D = <EffectType.Numeric4D: 3>
String = <EffectType.String: 7>
Table = <EffectType.Table: 12>
Transform2D = <EffectType.Transform2D: 4>
Transform3D = <EffectType.Transform3D: 5>
property name
property value
Image = <EffectType.Image: 8>
Material3D = <EffectType.Material3D: 11>
Mesh3D = <EffectType.Mesh3D: 10>
Numeric = <EffectType.Numeric: 0>
Numeric2D = <EffectType.Numeric2D: 1>
Numeric3D = <EffectType.Numeric3D: 2>
Numeric4D = <EffectType.Numeric4D: 3>
String = <EffectType.String: 7>
Table = <EffectType.Table: 12>
Transform2D = <EffectType.Transform2D: 4>
Transform3D = <EffectType.Transform3D: 5>
createProject(self: Autograph.Application, background: bool) object

Create a new empty project. If background is True, the project will not have a window

getActiveProject(self: Autograph.Application) object

Returns the currently active project, i.e: the active window or the command-line’s main project

getApplicationDirPath(self: Autograph.Application) str

Returns the application’s executable directory path

getGeneratorsClassID(self: Autograph.Application, type: Autograph.Application.EffectType) List[str]

Returns a list of the class ID of all generator Effect classes available for the given type. The class IDs are used to create instances of an Effect

getModifiersClassID(self: Autograph.Application, type: Autograph.Application.EffectType) List[str]

Returns a list of the class ID of all modifier Effect classes available for the given type. The class IDs are used to create instances of an Effect

getProjects(self: Autograph.Application) List[Autograph.Project]

Returns all existing projects

getPythonScriptsDirPath(self: Autograph.Application) str

Returns the directory path where Autograph tries to find init scripts executed on start-up

getQmlEngine(self: Autograph.Application) QQmlEngine

Returns the application’s main QQmlEngine used to instanciate qml code

isBackground(self: Autograph.Application) bool

Returns whether the application is running in command-line or not

onApplicationClosing(self: Autograph.Application, callback: object) None

Register a callback invoked right before the application is exiting. The function signature must have the following arguments: callback()

onProjectAboutToClose(self: Autograph.Application, callback: object) None

Register a callback invoked right before a project is closing. The function signature must have the following arguments: callback(Project)

onProjectAboutToLoad(self: Autograph.Application, callback: object) None

Register a callback invoked right before a project is is loading from file. The function signature must have the following arguments: callback(project: Project, filePath: str)

onProjectClosed(self: Autograph.Application, callback: object) None

Register a callback invoked right after a project is closed. The function signature must have the following arguments: callback(Project)

onProjectCreated(self: Autograph.Application, callback: object) None

Register a callback invoked right after a project is created (regardless whether it is loaded or not). The function signature must have the following arguments: callback(Project)

onProjectLoaded(self: Autograph.Application, callback: object) None

Register a callback invoked right after a project is finished loading. The function signature must have the following arguments: callback(project: Project)

registerAndLoadSettings(self: Autograph.Application, settings: Autograph.Settings, name: str) None

Register a Settings object to be saved as a JSON file in the user settings directory. The name is the basename of the JSON file and must be unique. This function raises an error if a Settings class is already registered against that name. This function will load any existing settings file.

registerMenuItem(self: Autograph.Application, callback: object, hierarchy: str, iconFilePath: str, keySequence: str) None

Register a new action in the window’s menubar.

callback must be a function with the following signature: callback()

hierarchy: a ‘/’ separated string of the menu hierarchy, e.g: ‘My Company/Addon/My Action’

keySequence: A string containing a shortcut sequence to activate the action, e.g: ‘CTRL+SHIFT+L’

registerPanelClass(self: Autograph.Application, createFunction: object, pluginID: str, label: str, iconFilePath: str, isSingleton: bool) None

Register a new Panel class.

pluginID: A string identifier to uniquely identify this panel class in Autograph, typically something like ‘com.mycompany.MyPanel’

label: The default UI name displayed for the panel

iconFilePath: Optional. A path to an icon file (svg, png, jpg) that should be used in the UI

isSingleton: If True, the Panel can only exist once in the project (e.g: similar to the Properties Panel for example). If False, the user can create multiple instances of the Panel.

class Autograph.AudioLayer

An AudioLayer is itself a Effect and represents one audio track in a AudioMix. They mainly hold parameters on which you can set value and connect a source. Most functions in this API to access parameters are stricly optionnal as you could very well just use Effect.param() and fetch params by name. For convenience, commonly used params have had an accessor function defined. Layers are inserted in an AudioMix with AudioMix.addLayer() , e.g:

audioMix.addLayer(Autograph.AudioLayer())
property animatedEnable
getIndexInComposition(self: Autograph.AudioLayer) int
property globalEnable
property globalSolo
property outputSpeed
property source
property timeOffset
property uiColor
property volumeGain
class Autograph.AudioMix

An AudioMix maintains a list of AudioLayer ordered from the bottom of the visual stack to the top.

addLayer(self: Autograph.AudioMix, layer: Autograph.AudioLayer, pushUndoCommand: bool = False) None

Add a layer on top of the AudioMix stack. If pushUndoCommand is True, and UndoCommand is pushed in the main undo stack

property afterMode

The param that controls the after mode

property beforeMode

The param that controls the before mode

property duration

The duration, in seconds, of the AudioMix

getLayerAtIndex(self: Autograph.AudioMix, index: int) Autograph.AudioLayer

Returns the layer at the given index

getLayerByUniqueName(self: Autograph.AudioMix, name: str) Autograph.AudioLayer

Returns the layer matching the given unique name

getLayerIndex(self: Autograph.AudioMix, layer: Autograph.AudioLayer) int

Get the index of the given layer

getLayers(self: Autograph.AudioMix) List[Autograph.AudioLayer]

Returns a list of all layers

getNumLayers(self: Autograph.AudioMix) int

Returns the number of layers in the stack

insertLayer(self: Autograph.AudioMix, layer: Autograph.AudioLayer, index: int, pushUndoCommand: bool = False) None

Inserts a layer at the given index in the AudioMix stack. Indices are ordered from bottom to top, i.e: in reverse to what is displayed in the UI. If pushUndoCommand is True, and UndoCommand is pushed in the main undo stack

moveLayer(self: Autograph.AudioMix, oldIndex: int, newIndex: int, pushUndoCommand: bool = False) None

Moves the layer at oldIndex to newIndex in the AudioMix stack. If pushUndoCommand is True, and UndoCommand is pushed in the main undo stack

onLayerInserted(self: Autograph.AudioMix, callback: object) None

Register a callback invoked when a layer is inserted. The function signature must be: callback(self: AudioMix, layer: AudioLayer)

onLayerMoved(self: Autograph.AudioMix, callback: object) None

Register a callback invoked when a layer is moved. The function signature must be: callback(self: AudioMix, oldIndex: int, newIndex: int)

onLayerRemoved(self: Autograph.AudioMix, callback: object) None

Register a callback invoked when a layer is removed. The function signature must be: callback(self: AudioMix, index: int layer: AudoLayer)

removeLayer(self: Autograph.AudioMix, layer: Autograph.AudioLayer, pushUndoCommand: bool = False) None

Removes the given layer from the AudioMix stack. If pushUndoCommand is True, and UndoCommand is pushed in the main undo stack

removeLayerAtIndex(self: Autograph.AudioMix, index: int, pushUndoCommand: bool = False) None

Remove the layer at the given index in the AudioMix stack. If pushUndoCommand is True, and UndoCommand is pushed in the main undo stack

property sampleFormat

The param that controls the sample format

property sampleRate

(int) The number of audio samples per second

property startingTime

The starting time (in seconds) of the AudioMix. Mainly useful for the UI

class Autograph.BoolParamBase

Base class for value based Params of a given type and fixed number of dimensions. This class exposes the animation curve with getCurve() which can be used to manipulate keyframes.

getCurve(self: Autograph.BoolParamBase, dimension: int = 0) Autograph.Curve

Returns the animation curve of this Param at the given dimension

getValue(self: Autograph.BoolParamBase, time: float = KeyFrame.InvalidTime, dimension: int = 0) bool

Get the value of the param, applying generator/modifiers if any at the given time and for the given dimension

getValues(self: Autograph.BoolParamBase, time: float = inf) List[bool[1]]

For a multi-dimensional Param, get the values of the param across each dimension, applying generator/modifiers if any at the given time and returns a list with the values

hasKeyFrames(self: Autograph.BoolParamBase, dimension: int = 0) bool

Returns true if the Param has keyframes in the Curve at the given dimension

setDefaultValue(self: Autograph.BoolParamBase, value: bool, dimension: int = 0) None

Set the default value of the Param at the given dimension

setDefaultValues(self: Autograph.BoolParamBase, values: List[bool[1]]) None

Set the default value of the Param across all dimensions

setValue(self: Autograph.BoolParamBase, value: bool, time: float = KeyFrame.InvalidTime, dimension: int = 0, pushUndoCommand: bool = False) None

Set the value of the param at the given time and given dimension . If pushUndoCommand is True, and UndoCommand will be pushed in the main undo stack. If time is KeyFrame.InvalidTime and if the Param doesn’t have any animation, no keyframe will be inserted.

setValueAndDefaultValue(self: Autograph.BoolParamBase, value: bool, dimension: int = 0) None

Same as setDefaultValue() but also set the current value

setValues(self: Autograph.BoolParamBase, values: List[bool[1]], time: float = KeyFrame.InvalidTime, pushUndoCommand: bool = False) None

Same as setValue() but for all dimensions at once

setValuesAndDefaultValues(self: Autograph.BoolParamBase, values: List[bool[1]]) None

Same as setDefaultValues() but also set the current value

class Autograph.CameraLayer
property camera
property transform3D
class Autograph.ChoiceParam

Inherits StringParamBase. The value of the param contains the current menu entry ID. The menu itself gives access to the list of menu ChoiceParamOption where each option has a unique entry ID.

getMenu(self: Autograph.ChoiceParam) Autograph.ChoiceParamMenu
getPreviewEnabled(self: Autograph.ChoiceParam) bool
setPreviewEnabled(self: Autograph.ChoiceParam, enabled: bool) None
class Autograph.ChoiceParamEntry
property entryID
class Autograph.ChoiceParamMenu
addEntry(self: Autograph.ChoiceParamMenu, entry: Autograph.ChoiceParamEntry) None
clear(self: Autograph.ChoiceParamMenu) None
getEntries(self: Autograph.ChoiceParamMenu) List[Autograph.ChoiceParamEntry]
getEntryAtIndex(self: Autograph.ChoiceParamMenu, index: int) Autograph.ChoiceParamEntry
getNumEntries(self: Autograph.ChoiceParamMenu) int
removeEntry(*args, **kwargs)

Overloaded function.

  1. removeEntry(self: Autograph.ChoiceParamMenu, entry: Autograph.ChoiceParamEntry) -> None

  2. removeEntry(self: Autograph.ChoiceParamMenu, index: int) -> None

class Autograph.ChoiceParamOption
property description
property iconFilePath
property label
property shortcutID
class Autograph.ChoiceParamSeparator
property iconFilePath
property label
class Autograph.CompRender

A CompRender defines a list of CompRenderInstance to render for a given Composition

cancelRender(self: Autograph.CompRender) None

Cancel all CompRenderInstance in the list being rendered

property compNameOverride

If overrideCompNameEnabled is true, this is used instead of the Composition name

property enabled

class=`CompRender` when starting the render queue

Type:

Whether or not to consider this

property exportDirectory

The directory where to render the files

getComposition(self: Autograph.CompRender) Autograph.Composition

Returns the attached Composition

getInstanceAtIndex(self: Autograph.CompRender, index: int) Autograph.CompRenderInstance

Returns the CompRenderInstance at the given index

getInstanceIndex(self: Autograph.CompRender, render: Autograph.CompRenderInstance) int

Returns a render instance index

getInstances(self: Autograph.CompRender) List[Autograph.CompRenderInstance]

Returns the list of all CompRenderInstance

getNumInstances(self: Autograph.CompRender) int

Returns the number of CompRenderInstance in the list

getProgress(self: Autograph.CompRender) float

Returns the current progress of the render, in the range [0,1]

insertInstance(self: Autograph.CompRender, instance: Autograph.CompRenderInstance, index: int = -1) None

Insert a new render instance at the given index

moveInstance(self: Autograph.CompRender, oldIndex: int, newIndex: int) None

Move a render instance in the list

onProgressChanged(self: Autograph.CompRender, callback: object) None

Register a callback invoked when the overall progression of the CompRender has changed. The function signature must be: callback(self: CompRender, progress: float)

property overrideCompNameEnabled

If true, the compNameOverride will be used instead of the Composition name

removeInstance(*args, **kwargs)

Overloaded function.

  1. removeInstance(self: Autograph.CompRender, arg0: int) -> None

Remove the render instance at the given index

  1. removeInstance(self: Autograph.CompRender, arg0: Autograph.CompRenderInstance) -> None

Remove the given render instance

setComposition(self: Autograph.CompRender, composition: Autograph.Composition) None

Set the Composition to render

class Autograph.CompRenderFile

A CompRenderFile corresponds to one output video file/image sequence of a CompRenderInstance . This is where all file format and codec specific settings are set.

property audioCodec

The audio codec name to use

property audioEnabled

Enable audio rendering. This is useful if an audio track is supplied

property colorspace

The colorspace name to use

property colorspaceEnabled

Whether or not to enable colorspace conversion

property directorySuffix

Add a suffix to the directory path

property enabled

Whether or not to consider this file when starting the render

property fileFormat

The file format name to use

property filePathOverride

If non empty, completely override the entire output file path to this value

isEffectiveEnabled(self: Autograph.CompRenderFile) bool

Returns true if this instance is enabled and its parent CompRenderInstance is enabled and its parent CompRender is also enabled

property nameOverride

Override the Composition name to this value

onFrameRendered(self: Autograph.CompRenderFile, callback: object) None

Register a callback invoked when a frame is rendered. The function signature must be: callback(self: CompRenderFile, frame: int, frameFilePath: :class=`str). frameFilePath points to the image file for this frame for an image sequence, otherwise it is always the same output video file-path.

onProgressChanged(self: Autograph.CompRenderFile, callback: object) None

Register a callback invoked when the progression of this file has changed. The function signature must be: callback(self: CompRenderFile, progress: float)

onRenderFinished(self: Autograph.CompRenderFile, callback: object) None

Register a callback invoked when the render of this file is finished. The function signature must be: callback(self: CompRenderFile)

onRenderStarted(self: Autograph.CompRenderFile, callback: object) None

Register a callback invoked when the render of this file is started. The function signature must be: callback(self: CompRenderFile)

property overrideNameEnabled

Whether or not to enable nameOverride

property overwriteFile

If a video/image file already exists, whether or not to override it. If disabled, the renderer will skip rendering that frame

setProperty(self: Autograph.CompRenderFile, name: str, value: object) bool

A general function to set property values of the render file. See the command-line API documentation or the UI of render file to see the list of available properties, their name and possible values.

property videoCodec

The video codec name to use

property videoEnabled

Enable video rendering. This is useful to export only Audio tracks

class Autograph.CompRenderInstance

A CompRenderInstance defines all parameters of a Composition to be rendered. Each CompRenderFile in the list will then take the output of the render and encode it to the appropriate image/video file. This is useful to render the same Composition with the same parameters in various output formats/codecs.

class InterlaceMode
Lower = <InterlaceMode.Lower: 2>
None = <InterlaceMode.None: 0>
Upper = <InterlaceMode.Upper: 1>
property name
property value
Lower = <InterlaceMode.Lower: 2>
None = <InterlaceMode.None: 0>
Upper = <InterlaceMode.Upper: 1>
cancelRender(self: Autograph.CompRenderInstance) None

Cancel the render of all :class=`CompRenderFile` in the list

property continueOnError

Whether or not to continue rendering if a frame failed

property directorySuffix

This is used as a suffix to the directory path set in the parent CompRender

property downscaleLevel

1 computes the image at 50%, 2 at 25% etc…

Type:

The downscale level to apply to the image as a power of 2, i.e

property enabled

Whether or not to consider this instance when starting the render

property frameRangeOverride

Set the frame-range override of the Composition. This is a [Timecode, Timecode] pair where the second timecode is 1 frame beyond the last frame

property frameRangeOverrideEnabled

Enable the override of the frame range of the Composition

property frameStep

Set the number of frames that should be incremented after rendering a frame. Defaults to 1

property framerateOverride

Set the Composition framerate to the given value. This is only used if framerateOverrideEnabled is True

property framerateOverrideEnabled

Enable the framerateOverride

getAverageFrameRenderTime(self: Autograph.CompRenderInstance) float

Returns the average frame render time for this instance

getETA(self: Autograph.CompRenderInstance) float

Returns the remaining time to render this instance, in seconds

getEffectiveFramerate(self: Autograph.CompRenderInstance) float

Returns the current framerate of the Composition

getFileAtIndex(self: Autograph.CompRenderInstance, index: int) Autograph.CompRenderFile

Returns a CompRenderFile at the given index

getFileIndex(self: Autograph.CompRenderInstance, render: Autograph.CompRenderFile) int

Returns a file index in the list

getFiles(self: Autograph.CompRenderInstance) List[Autograph.CompRenderFile]

Returns all CompRenderFile in the list

getFormat(self: Autograph.CompRenderInstance) Tuple[int, int, float]

Returns the current Composition format or the format overriden by setFormat()

getNumFiles(self: Autograph.CompRenderInstance) int

Returns the number of files in the list

getPrefixOrSuffix(self: Autograph.CompRenderInstance) Tuple[str, bool]
getProgress(self: Autograph.CompRenderInstance) float

Get the current progress of this render

getTotalRenderTime(self: Autograph.CompRenderInstance) float

Returns the total render time of this instance, in seconds

insertFile(self: Autograph.CompRenderInstance, File: Autograph.CompRenderFile, index: int = -1) None

Insert a CompRenderFile in the list at the given index

property interlaceMode

The interlacing mode to use

isEffectiveEnabled(self: Autograph.CompRenderInstance) bool

Returns true if this instance is enabled and its parent CompRender is also enabled

moveFile(self: Autograph.CompRenderInstance, oldIndex: int, newIndex: int) None

Move a file in the list

property nameOverride

If overrideNameEnabled is True, this is used instead of the Composition name

onFrameRendered(self: Autograph.CompRenderInstance, callback: object) None

Register a callback invoked when a frame is rendered. The function signature must be: callback(self: CompRenderInstance, frame: int)

onProgressChanged(self: Autograph.CompRenderInstance, callback: object) None

Register a callback invoked when the progression of this instance has changed. The function signature must be: callback(self: CompRenderInstance, progress: float)

onRenderFinished(self: Autograph.CompRenderInstance, callback: object) None

Register a callback invoked when the render of this instance is finished. The function signature must be: callback(self: CompRenderInstance)

onRenderStarted(self: Autograph.CompRenderInstance, callback: object) None

Register a callback invoked when the render of this instance is started. The function signature must be: callback(self: CompRenderInstance)

property overrideNameEnabled

If True, override the Composition name by nameOverride

removeFile(*args, **kwargs)

Overloaded function.

  1. removeFile(self: Autograph.CompRenderInstance, arg0: int) -> None

Remove a file at the given index

  1. removeFile(self: Autograph.CompRenderInstance, arg0: Autograph.CompRenderFile) -> None

Remove the given file from the list

property roi

Restricts the render region to the given rectangle in the form [left, bottom, right, top]

setFormat(self: Autograph.CompRenderInstance, width: int, height: int, pixelAspectRatio: float = 1.0) None

Override the Composition format to this format

setPrefixOrSuffix(self: Autograph.CompRenderInstance, string: str, isPrefix: bool) None

Set a prefix or suffix text to the filename

setToSourceFormat(self: Autograph.CompRenderInstance) None

Revert back the format to the original Composition’s format

class Autograph.Composition

A Composition maintains a list of LayerBase ordered from the bottom of the visual stack to the top.

addLayer(self: Autograph.Composition, layer: Autograph.LayerBase, pushUndoCommand: bool = False) None

Add a layer on top of the Composition stack. If pushUndoCommand is True, and UndoCommand is pushed in the main undo stack

property afterMode

The param that controls the after mode

property beforeMode

The param that controls the before mode

property duration

The duration, in seconds, of the Composition

property enableCaching

The param that controls the enable caching

property framerate

(float) The number of frames per seconds of the Composition

getFormat(self: Autograph.Composition) Tuple[int, int, float]

Returns a tuple containing [width, height, pixelAspectRatio]

getLayerAtIndex(self: Autograph.Composition, index: int) Autograph.LayerBase

Returns the layer at the given index

getLayerByUniqueName(self: Autograph.Composition, name: str) Autograph.LayerBase

Returns the layer matching the given unique name

getLayerIndex(self: Autograph.Composition, layer: Autograph.LayerBase) int

Get the index of the given layer

getLayers(self: Autograph.Composition) List[Autograph.LayerBase]

Returns a list of all layers

getNumLayers(self: Autograph.Composition) int

Returns the number of layers in the stack

insertLayer(self: Autograph.Composition, layer: Autograph.LayerBase, index: int, pushUndoCommand: bool = False) None

Inserts a layer at the given index in the Composition stack. Indices are ordered from bottom to top, i.e: in reverse to what is displayed in the UI. If pushUndoCommand is True, and UndoCommand is pushed in the main undo stack

moveLayer(self: Autograph.Composition, oldIndex: int, newIndex: int, pushUndoCommand: bool = False) None

Moves the layer at oldIndex to newIndex in the Composition stack. If pushUndoCommand is True, and UndoCommand is pushed in the main undo stack

onLayerInserted(self: Autograph.Composition, callback: object) None

Register a callback invoked when a layer is inserted. The function signature must be: callback(self: Composition, layer: LayerBase)

onLayerMoved(self: Autograph.Composition, callback: object) None

Register a callback invoked when a layer is moved. The function signature must be: callback(self: Composition, oldIndex: int, newIndex: int)

onLayerRemoved(self: Autograph.Composition, callback: object) None

Register a callback invoked when a layer is removed. The function signature must be: callback(self: Composition, index: int layer: LayerBase)

removeLayer(self: Autograph.Composition, layer: Autograph.LayerBase, pushUndoCommand: bool = False) None

Removes the given layer from the Composition stack. If pushUndoCommand is True, and UndoCommand is pushed in the main undo stack

removeLayerAtIndex(self: Autograph.Composition, index: int, pushUndoCommand: bool = False) None

Remove the layer at the given index in the Composition stack. If pushUndoCommand is True, and UndoCommand is pushed in the main undo stack

setFormat(self: Autograph.Composition, width: int, height: int, pixelAspectRatio: float) None

Set the format of the Composition

property startingTime

The starting time (in seconds) of the Composition. Mainly useful for the UI

class Autograph.Curve
clear(self: Autograph.Curve) None

Clear all keyframes

copy(self: Autograph.Curve, otherCurve: Autograph.Curve) None

Copy another curve

getKeyFrameAtIndex(self: Autograph.Curve, index: float) Autograph.KeyFrame

Returns the keyframe at the given index in increasing time order or an invalid keyframe otherwise

getKeyFrameAtTime(self: Autograph.Curve, time: float) Autograph.KeyFrame

Returns the keyframe at the given time , or an invalid keyframe otherwise

getKeyFrameCount(self: Autograph.Curve) int

Number of keyframes in the curve

getKeyFrames(self: Autograph.Curve) Set[Autograph.KeyFrame]

Returns a list of all keyframes

getKeyFramesInRange(self: Autograph.Curve, minTime: float, maxTime: float) Set[Autograph.KeyFrame]

Get a list of keyframes in the range [minTime, maxTime] where maxTime is included

getNearestKeyFrame(self: Autograph.Curve, time: float) Autograph.KeyFrame

Get the nearest keyframe to time , or an invalid keyframe otherwise

getNextKeyFrame(self: Autograph.Curve, time: float) Autograph.KeyFrame

Returns the nearest next keyframe to time , or an invalid keyframe otherwise

getPreviousKeyFrame(self: Autograph.Curve, time: float) Autograph.KeyFrame

Returns the nearest previous keyframe to time , or an invalid keyframe otherwise

getValueAtTime(self: Autograph.Curve, time: float) object

Evaluates the animation curve at the given time and returns the interpolated value

hasKeyFrameAtTime(self: Autograph.Curve, time: float) bool

Returns True if a keyframe exists at the given time

moveKeyFrame(self: Autograph.Curve, oldTime: float, newTime: float) bool

Move a keyframe from one time to another, in seconds

removeKeyFrame(self: Autograph.Curve, time: float) None

Remove a keyframe at the given time

removeKeyFrames(self: Autograph.Curve, times: List[float]) None

Remove multiple keyframes at once

removeKeyFramesInRange(self: Autograph.Curve, minTime: float, maxTime: float) None

Remove all keyframes in the range [minTime, maxTime[ where any keyframe at maxTime is excluded

setKeyFrame(self: Autograph.Curve, keyframe: Autograph.KeyFrame) bool

Set a KeyFrame in the curve

setKeyFrames(self: Autograph.Curve, keyframes: List[Autograph.KeyFrame]) bool

Set multiples keyframes in the curve at once

class Autograph.CustomPanel

Base-class for custom Panel classes. Derive this class and override functions with your own implementation. Custom panel classes must be registered to the Application with Application.registerPanelClass()

createMainItem(self: Autograph.CustomPanel) QQuickItem

Implement to create the main QQuickItem of the panel. A typical implementation would be:

# Create a QQmlComponent from the QML file comp = QQmlComponent(Autograph.app.getQmlEngine(), Autograph.app.getPythonScriptsDirPath() + ‘/MyPanel.qml’) # Create an instance of the compoonent, passing it a QObject as property to interact with our Python properties return comp.createWithInitialProperties({“panel”: self._obj})

loadFromProject(self: Autograph.CustomPanel, value: object) None

Implement to load the values contained in the dict value that was returned from saveInProject()

loadFromWorkspace(self: Autograph.CustomPanel, value: object) None

Load data that were saved with saveInWorkspace()

saveInProject(self: Autograph.CustomPanel) object

Implement to return a dict of the data to save with the current project. This is useful if the Panel class interacts with the project and needs to store project-specific data. Values in the dict must be of type int, float, string, boolean, list, dict

saveInWorkspace(self: Autograph.CustomPanel) object

Implement to return a dict of the data to save with the workspace. Values save in the workspace can be shared across the project. This is useful to store settings of the panel that should be per-workspace specific. Values in the dict must be of type int, float, string, boolean, list, dict

class Autograph.DashElementParam
property dashLen
property spaceLen
class Autograph.DashPatternParam
class Autograph.DoubleParam2DBase

Base class for value based Params of a given type and fixed number of dimensions. This class exposes the animation curve with getCurve() which can be used to manipulate keyframes.

getCurve(self: Autograph.DoubleParam2DBase, dimension: int = 0) Autograph.Curve

Returns the animation curve of this Param at the given dimension

getValue(self: Autograph.DoubleParam2DBase, time: float = KeyFrame.InvalidTime, dimension: int = 0) float

Get the value of the param, applying generator/modifiers if any at the given time and for the given dimension

getValues(self: Autograph.DoubleParam2DBase, time: float = inf) List[float[2]]

For a multi-dimensional Param, get the values of the param across each dimension, applying generator/modifiers if any at the given time and returns a list with the values

hasKeyFrames(self: Autograph.DoubleParam2DBase, dimension: int = 0) bool

Returns true if the Param has keyframes in the Curve at the given dimension

setDefaultValue(self: Autograph.DoubleParam2DBase, value: float, dimension: int = 0) None

Set the default value of the Param at the given dimension

setDefaultValues(self: Autograph.DoubleParam2DBase, values: List[float[2]]) None

Set the default value of the Param across all dimensions

setValue(self: Autograph.DoubleParam2DBase, value: float, time: float = KeyFrame.InvalidTime, dimension: int = 0, pushUndoCommand: bool = False) None

Set the value of the param at the given time and given dimension . If pushUndoCommand is True, and UndoCommand will be pushed in the main undo stack. If time is KeyFrame.InvalidTime and if the Param doesn’t have any animation, no keyframe will be inserted.

setValueAndDefaultValue(self: Autograph.DoubleParam2DBase, value: float, dimension: int = 0) None

Same as setDefaultValue() but also set the current value

setValues(self: Autograph.DoubleParam2DBase, values: List[float[2]], time: float = KeyFrame.InvalidTime, pushUndoCommand: bool = False) None

Same as setValue() but for all dimensions at once

setValuesAndDefaultValues(self: Autograph.DoubleParam2DBase, values: List[float[2]]) None

Same as setDefaultValues() but also set the current value

class Autograph.DoubleParam3DBase

Base class for value based Params of a given type and fixed number of dimensions. This class exposes the animation curve with getCurve() which can be used to manipulate keyframes.

getCurve(self: Autograph.DoubleParam3DBase, dimension: int = 0) Autograph.Curve

Returns the animation curve of this Param at the given dimension

getValue(self: Autograph.DoubleParam3DBase, time: float = KeyFrame.InvalidTime, dimension: int = 0) float

Get the value of the param, applying generator/modifiers if any at the given time and for the given dimension

getValues(self: Autograph.DoubleParam3DBase, time: float = inf) List[float[3]]

For a multi-dimensional Param, get the values of the param across each dimension, applying generator/modifiers if any at the given time and returns a list with the values

hasKeyFrames(self: Autograph.DoubleParam3DBase, dimension: int = 0) bool

Returns true if the Param has keyframes in the Curve at the given dimension

setDefaultValue(self: Autograph.DoubleParam3DBase, value: float, dimension: int = 0) None

Set the default value of the Param at the given dimension

setDefaultValues(self: Autograph.DoubleParam3DBase, values: List[float[3]]) None

Set the default value of the Param across all dimensions

setValue(self: Autograph.DoubleParam3DBase, value: float, time: float = KeyFrame.InvalidTime, dimension: int = 0, pushUndoCommand: bool = False) None

Set the value of the param at the given time and given dimension . If pushUndoCommand is True, and UndoCommand will be pushed in the main undo stack. If time is KeyFrame.InvalidTime and if the Param doesn’t have any animation, no keyframe will be inserted.

setValueAndDefaultValue(self: Autograph.DoubleParam3DBase, value: float, dimension: int = 0) None

Same as setDefaultValue() but also set the current value

setValues(self: Autograph.DoubleParam3DBase, values: List[float[3]], time: float = KeyFrame.InvalidTime, pushUndoCommand: bool = False) None

Same as setValue() but for all dimensions at once

setValuesAndDefaultValues(self: Autograph.DoubleParam3DBase, values: List[float[3]]) None

Same as setDefaultValues() but also set the current value

class Autograph.DoubleParam4DBase

Base class for value based Params of a given type and fixed number of dimensions. This class exposes the animation curve with getCurve() which can be used to manipulate keyframes.

getCurve(self: Autograph.DoubleParam4DBase, dimension: int = 0) Autograph.Curve

Returns the animation curve of this Param at the given dimension

getValue(self: Autograph.DoubleParam4DBase, time: float = KeyFrame.InvalidTime, dimension: int = 0) float

Get the value of the param, applying generator/modifiers if any at the given time and for the given dimension

getValues(self: Autograph.DoubleParam4DBase, time: float = inf) List[float[4]]

For a multi-dimensional Param, get the values of the param across each dimension, applying generator/modifiers if any at the given time and returns a list with the values

hasKeyFrames(self: Autograph.DoubleParam4DBase, dimension: int = 0) bool

Returns true if the Param has keyframes in the Curve at the given dimension

setDefaultValue(self: Autograph.DoubleParam4DBase, value: float, dimension: int = 0) None

Set the default value of the Param at the given dimension

setDefaultValues(self: Autograph.DoubleParam4DBase, values: List[float[4]]) None

Set the default value of the Param across all dimensions

setValue(self: Autograph.DoubleParam4DBase, value: float, time: float = KeyFrame.InvalidTime, dimension: int = 0, pushUndoCommand: bool = False) None

Set the value of the param at the given time and given dimension . If pushUndoCommand is True, and UndoCommand will be pushed in the main undo stack. If time is KeyFrame.InvalidTime and if the Param doesn’t have any animation, no keyframe will be inserted.

setValueAndDefaultValue(self: Autograph.DoubleParam4DBase, value: float, dimension: int = 0) None

Same as setDefaultValue() but also set the current value

setValues(self: Autograph.DoubleParam4DBase, values: List[float[4]], time: float = KeyFrame.InvalidTime, pushUndoCommand: bool = False) None

Same as setValue() but for all dimensions at once

setValuesAndDefaultValues(self: Autograph.DoubleParam4DBase, values: List[float[4]]) None

Same as setDefaultValues() but also set the current value

class Autograph.DoubleParamBase

Base class for value based Params of a given type and fixed number of dimensions. This class exposes the animation curve with getCurve() which can be used to manipulate keyframes.

getCurve(self: Autograph.DoubleParamBase, dimension: int = 0) Autograph.Curve

Returns the animation curve of this Param at the given dimension

getValue(self: Autograph.DoubleParamBase, time: float = KeyFrame.InvalidTime, dimension: int = 0) float

Get the value of the param, applying generator/modifiers if any at the given time and for the given dimension

getValues(self: Autograph.DoubleParamBase, time: float = inf) List[float[1]]

For a multi-dimensional Param, get the values of the param across each dimension, applying generator/modifiers if any at the given time and returns a list with the values

hasKeyFrames(self: Autograph.DoubleParamBase, dimension: int = 0) bool

Returns true if the Param has keyframes in the Curve at the given dimension

setDefaultValue(self: Autograph.DoubleParamBase, value: float, dimension: int = 0) None

Set the default value of the Param at the given dimension

setDefaultValues(self: Autograph.DoubleParamBase, values: List[float[1]]) None

Set the default value of the Param across all dimensions

setValue(self: Autograph.DoubleParamBase, value: float, time: float = KeyFrame.InvalidTime, dimension: int = 0, pushUndoCommand: bool = False) None

Set the value of the param at the given time and given dimension . If pushUndoCommand is True, and UndoCommand will be pushed in the main undo stack. If time is KeyFrame.InvalidTime and if the Param doesn’t have any animation, no keyframe will be inserted.

setValueAndDefaultValue(self: Autograph.DoubleParamBase, value: float, dimension: int = 0) None

Same as setDefaultValue() but also set the current value

setValues(self: Autograph.DoubleParamBase, values: List[float[1]], time: float = KeyFrame.InvalidTime, pushUndoCommand: bool = False) None

Same as setValue() but for all dimensions at once

setValuesAndDefaultValues(self: Autograph.DoubleParamBase, values: List[float[1]]) None

Same as setDefaultValues() but also set the current value

class Autograph.Effect

An Effect is the base class representing anything that can be set as a generator or modifier on a Param. It usually contains child Param which can be accessed using Effect.getParams(). Generators and Modifiers can be created using the constructore taking a classID string. The classID must be one of the identifiers returned by Application.getGeneratorsClassID() or Application.getModifiersClassID().

The list of each Param and their unique-name can be consulted in the user documentation. For example, here is the list of the `Image/Video Reader`<https://www.left-angle.com/public/doc-autograph/dev-master/chapters/reference/Generators/Image/com_leftangle_AppLib_ReadImageEffect/main.html>_

property dataType

(Read-only) The data type produced by this Effect. When setting this Effect as a generator (with Param.setGeneratorEffect()) or as a modifier of a Param, the dataType must be the same as Param.dataType

property dataTypeArity

(Read-only) The number of dimensions produced by the Effect. When setting this Effect as a generator or modifier of a Param, it must have the same number of dimensions as Param.numDimensions

property enabled

Whether the effect should be enabled or not. It is only useful for a modifier or a ModifierList

getDisplayName(self: Autograph.Effect) str

Returns the name of the Param as displayed in the UI

getParams(self: Autograph.Effect) List[Autograph.Param]

Returns all child Params of this Param

getProject(self: Autograph.Effect) Autograph.Project

Returns the Project this Param belongs to

getProjectItem(self: Autograph.Effect) Autograph.ProjectItem

If this effect is owned by a ProjectItem, returns a reference to it

getUniqueName(self: Autograph.Effect) str

Returns the unique-name of the Effect

isInProject(self: Autograph.Effect) bool

Returns True if this Effect is in the project, meaning it belongs to a parent Param and the parent itself is in the project. This is False when the Effect was just created but not yet inserted or if the user removed it from the UI

onDisplayNameChanged(self: Autograph.Effect, arg0: object) None

Register a callback invoked when the UI name of the Effect is changed. The function signature must have the following arguments: callback(param: Effect)

onInProjectChanged(self: Autograph.Effect, arg0: object) None

Register a callback invoked when the Effect is either inserted in the project or removed from the project. The function signature must have the following arguments: callback(effect: Effect)

param(self: Autograph.Effect, uniqueName: str) Autograph.Param

Returns a child Param given its uniqueName or None if not found

setDisplayName(self: Autograph.Effect, name: str) None

Set the name of the Param as displayed in the UI

setUniqueName(self: Autograph.Effect, name: str) None

Set the unique name of the Effect. If a name already exists, a suffix will be added automatically

class Autograph.FillStyleParam
class Autograph.Font
property bold
property family
property italic
property kerning
property letterSpacingPercent
property overline
property pixelSize
property pointSize
property stretch
property strikeout
property underline
property weight
property wordSpacing
class Autograph.Geom2DParam
property booleanOperation
getGeometry(self: Autograph.Geom2DParam, time: float, enableModifiers: bool) Autograph.Path2D
property transform
class Autograph.GeomGroup2DParam

GeomGroup2DParam holds a ParamList of Geom2DParam. When calling Geom2DParam.getGeometry() , the paths contained in the group have their boolean operator applied on the resulting geometry.

setToPath(self: Autograph.GeomGroup2DParam, path: Autograph.Path2D) None

Clear the list of paths and make-up a new list of Path2DParam based on the given path. This is useful to easily setup the params with the easier API of Path2D.

class Autograph.GradientParam
class Autograph.GradientStopParam
property color
property easingAmplitude
property easingOvershoot
property easingPeriod
property interpolation
property leftInfluence
property position
property rightInfluence
class Autograph.KeyFrame

A KeyFrame defines how a curve is interpolated until the next KeyFrame in a Curve. The KeyFrame.leftDeriv and KeyFrame.rightDeriv are Hermite interpolation curve derivatives (i.e: the slope), normalized against the time range between this keyframe and the next.

Cubic Hermite form is interchangeable with cubic Bezier form where each 4 control polygon points are:

(T0, V0) be the time and value of the keyframe 0

(T1, V1) the time and value of the keyframe 1

p0pr be the right derivative at keyframe 0

p3pl be the left derivative at keyframe 1

Ar0 be the right amount at keyframe 0

Ar1 be the left amount at keyframe 1

p0 = V0
p1 = p0 + (p0pr * (T1 - T0)) / 3
p2 = p3 - (p3pl * (T1 - T0)) / 3
p3 = V1

The leftAmount and rightAmount are in the range [0,3] and are used as a multiplication factor of the time coordinates of the P1 and P2 control points of a Cubic Bezier interpolation curve.

p0 = (T0, V0)
p1dx = ((T1 - T0) * Ar0) / 3
p1 = (T0 + p1dx, V0 + p0pr * p1dx)
p2dx = ((T1 - T0) * Ar1) / 3
p2 = (T1 - p2dx, V1 - p3pl * p2dx)
p3 = (T1,V1)

When the interpolation mode is an easing preset, the easingOvershoot , easingAmplitude and easingPeriod can be used to modulate the interpolation of each specific preset.

Broken = <InterpolationMode.Broken: 7>
CatmullRom = <InterpolationMode.CatmullRom: 3>
Constant = <InterpolationMode.Constant: 0>
CosineCurve = <InterpolationMode.CosineCurve: 53>
Cubic = <InterpolationMode.Cubic: 4>
Horizontal = <InterpolationMode.Horizontal: 5>
InBack = <InterpolationMode.InBack: 42>
InBounce = <InterpolationMode.InBounce: 46>
InCirc = <InterpolationMode.InCirc: 34>
InCubic = <InterpolationMode.InCubic: 14>
InCurve = <InterpolationMode.InCurve: 50>
InElastic = <InterpolationMode.InElastic: 38>
InExpo = <InterpolationMode.InExpo: 30>
InOutBack = <InterpolationMode.InOutBack: 44>
InOutBounce = <InterpolationMode.InOutBounce: 48>
InOutCirc = <InterpolationMode.InOutCirc: 36>
InOutCubic = <InterpolationMode.InOutCubic: 16>
InOutElastic = <InterpolationMode.InOutElastic: 40>
InOutExpo = <InterpolationMode.InOutExpo: 32>
InOutQuad = <InterpolationMode.InOutQuad: 12>
InOutQuart = <InterpolationMode.InOutQuart: 20>
InOutQuint = <InterpolationMode.InOutQuint: 24>
InOutSine = <InterpolationMode.InOutSine: 28>
InQuad = <InterpolationMode.InQuad: 10>
InQuart = <InterpolationMode.InQuart: 18>
InQuint = <InterpolationMode.InQuint: 22>
InSine = <InterpolationMode.InSine: 26>
class InterpolationMode
Broken = <InterpolationMode.Broken: 7>
CatmullRom = <InterpolationMode.CatmullRom: 3>
Constant = <InterpolationMode.Constant: 0>
CosineCurve = <InterpolationMode.CosineCurve: 53>
Cubic = <InterpolationMode.Cubic: 4>
Horizontal = <InterpolationMode.Horizontal: 5>
InBack = <InterpolationMode.InBack: 42>
InBounce = <InterpolationMode.InBounce: 46>
InCirc = <InterpolationMode.InCirc: 34>
InCubic = <InterpolationMode.InCubic: 14>
InCurve = <InterpolationMode.InCurve: 50>
InElastic = <InterpolationMode.InElastic: 38>
InExpo = <InterpolationMode.InExpo: 30>
InOutBack = <InterpolationMode.InOutBack: 44>
InOutBounce = <InterpolationMode.InOutBounce: 48>
InOutCirc = <InterpolationMode.InOutCirc: 36>
InOutCubic = <InterpolationMode.InOutCubic: 16>
InOutElastic = <InterpolationMode.InOutElastic: 40>
InOutExpo = <InterpolationMode.InOutExpo: 32>
InOutQuad = <InterpolationMode.InOutQuad: 12>
InOutQuart = <InterpolationMode.InOutQuart: 20>
InOutQuint = <InterpolationMode.InOutQuint: 24>
InOutSine = <InterpolationMode.InOutSine: 28>
InQuad = <InterpolationMode.InQuad: 10>
InQuart = <InterpolationMode.InQuart: 18>
InQuint = <InterpolationMode.InQuint: 22>
InSine = <InterpolationMode.InSine: 26>
Linear = <InterpolationMode.Linear: 1>
OutBack = <InterpolationMode.OutBack: 43>
OutBounce = <InterpolationMode.OutBounce: 47>
OutCirc = <InterpolationMode.OutCirc: 35>
OutCubic = <InterpolationMode.OutCubic: 15>
OutCurve = <InterpolationMode.OutCurve: 51>
OutElastic = <InterpolationMode.OutElastic: 39>
OutExpo = <InterpolationMode.OutExpo: 31>
OutInBack = <InterpolationMode.OutInBack: 45>
OutInBounce = <InterpolationMode.OutInBounce: 49>
OutInCirc = <InterpolationMode.OutInCirc: 37>
OutInCubic = <InterpolationMode.OutInCubic: 17>
OutInElastic = <InterpolationMode.OutInElastic: 41>
OutInExpo = <InterpolationMode.OutInExpo: 33>
OutInQuad = <InterpolationMode.OutInQuad: 13>
OutInQuart = <InterpolationMode.OutInQuart: 21>
OutInQuint = <InterpolationMode.OutInQuint: 25>
OutInSine = <InterpolationMode.OutInSine: 29>
OutQuad = <InterpolationMode.OutQuad: 11>
OutQuart = <InterpolationMode.OutQuart: 19>
OutQuint = <InterpolationMode.OutQuint: 23>
OutSine = <InterpolationMode.OutSine: 27>
SineCurve = <InterpolationMode.SineCurve: 52>
Smooth = <InterpolationMode.Smooth: 2>
VelocityBounce = <InterpolationMode.VelocityBounce: 54>
property name
property value
InvalidTime = inf
Linear = <InterpolationMode.Linear: 1>
OutBack = <InterpolationMode.OutBack: 43>
OutBounce = <InterpolationMode.OutBounce: 47>
OutCirc = <InterpolationMode.OutCirc: 35>
OutCubic = <InterpolationMode.OutCubic: 15>
OutCurve = <InterpolationMode.OutCurve: 51>
OutElastic = <InterpolationMode.OutElastic: 39>
OutExpo = <InterpolationMode.OutExpo: 31>
OutInBack = <InterpolationMode.OutInBack: 45>
OutInBounce = <InterpolationMode.OutInBounce: 49>
OutInCirc = <InterpolationMode.OutInCirc: 37>
OutInCubic = <InterpolationMode.OutInCubic: 17>
OutInElastic = <InterpolationMode.OutInElastic: 41>
OutInExpo = <InterpolationMode.OutInExpo: 33>
OutInQuad = <InterpolationMode.OutInQuad: 13>
OutInQuart = <InterpolationMode.OutInQuart: 21>
OutInQuint = <InterpolationMode.OutInQuint: 25>
OutInSine = <InterpolationMode.OutInSine: 29>
OutQuad = <InterpolationMode.OutQuad: 11>
OutQuart = <InterpolationMode.OutQuart: 19>
OutQuint = <InterpolationMode.OutQuint: 23>
OutSine = <InterpolationMode.OutSine: 27>
SineCurve = <InterpolationMode.SineCurve: 52>
Smooth = <InterpolationMode.Smooth: 2>
VelocityBounce = <InterpolationMode.VelocityBounce: 54>
property constantSpeed

If True, this keyframe time is automatically managed. For a spatial Numeric2DParam, the interpolation along the spatial trajectory will have a constant speed. For non spatial Params, the keyframe time will simply be uniformly positionned within surrounding non time-adaptive keyframes.

property easingAmplitude
property easingOvershoot
property easingPeriod
property interpolation

The KeyFrame.InterpolationMode defines how the keyframe is interpolated to to the next keyframe

property leftAmount
property leftDeriv
property rightAmount
property rightDeriv
property time

The time in seconds of the keyframe

property value

The value of the keyframe. The type depends on the type of the Param

class Autograph.Layer2D
class BBoxType
PostBlend = <BBoxType.PostBlend: 2>
Source = <BBoxType.Source: 0>
SourceWithEffects = <BBoxType.SourceWithEffects: 1>
property name
property value
PostBlend = <BBoxType.PostBlend: 2>
Source = <BBoxType.Source: 0>
SourceWithEffects = <BBoxType.SourceWithEffects: 1>
property autoRetimeShutterAngle
property blendMode
property blendPassThrough
property castShadows
property contactShadows
property enable3D
property enableMask
property enableTransformMask
getBoundingBox(self: Autograph.Layer2D, type: Autograph.Layer2D.BBoxType, time: float) List[float[4]]

Returns the bounding box [left, bottom, right, top] of the layer. time is local to the layer: use TimelinePanel.mapTimelineToParamTime() to map the TimelinePanel.currentTime to the layer time e.g:

bbox = layer.getBoundingBox(Autograph.Layer2D.BBoxType.PostBlend, timeline.mapTimelineToParamTime(layer.source, timeline.currentTime))

type controls at what stage of the layer the returned bounding box corresponds to:

  • BBoxType.Source: The bounding box only takes into account the generator of the Layer2D.source param

  • BBoxType.SourceWithEffects: The bounding box takes the source bounding box plus modifiers applied on top

  • BBoxType.PostBlend: The bounding box is the union of the result of BBoxType.SourceWithEffects with the bounding box of the Composition stack thus far

property isAdjustementLayer
property isGuideLayer
property mask
property material
property opacity
property pixelsMotionWarpDirection
property preserveUnderlyingTransparency
property receiveShadows
property retimeFilter
property retimeShutterAngle
property retimeShutterSamples
property shadingMode
property source
property transform
property transform3D
property useAlphaScreen
class Autograph.Layer3D
property scene3D
property transform3D
class Autograph.LayerBase

All layer classes are derived from LayerBase (which is itself a Effect) and are used to set values on their parameter. Their API is stricly optionnal as you could very well just use Effect.param() and fetch params by name. For convenience, commonly used params have had an accessor function defined. Layers are inserted in a composition with Composition.addLayer() , e.g:

comp.addLayer(Autograph.Layer2D())
property animatedEnable
property enableTimeRemap
property enableVisibilityRetime
getIndexInComposition(self: Autograph.LayerBase) int
property globalEnable
property globalLock
property globalSolo
property outputSpeed
property reverseTime
property timeOffset
property timeRemapCurve
property uiColor
class Autograph.LightLayer
property transform3D
class Autograph.ModifierList

A ModifierList contains a list of modifier Effect and exposes functions to manage this list. This object cannot be created by itself and is accessible only from Param.getModifiersList()

addModifier(self: Autograph.ModifierList, modifier: Autograph.Effect, pushUndoCommand: bool = False) None

Add modifier to the end of the list. If pushUndoCommand is True, an UndoCommand will be created in the main undo stack. Its Effect.dataType must be the same as this ModifierList’s param Param.dataType and its Effect.dataTypeArity must be of 1 if set on a single dimension of a Param or of Param.numDimensions if set on the Nth dimension of a multi-dimensional Param.

getModifierAtIndex(self: Autograph.ModifierList, index: int) Autograph.Effect

Returns the modifier at the given index or None if invalid index

getModifierIndex(self: Autograph.ModifierList, modifier: Autograph.Effect) int

Returns the given modifier index in the list

getModifiers(self: Autograph.ModifierList) List[Autograph.Effect]

Returns the list of all modifiers

getNumModifiers(self: Autograph.ModifierList) int

Returns the number of modifiers in the list

insertModifier(self: Autograph.ModifierList, modifier: Autograph.Effect, index: int, pushUndoCommand: bool = False) None

Inserts modifier at the given index in the list. If pushUndoCommand is True, an UndoCommand will be created in the main undo stack. Its Effect.dataType must be the same as this ModifierList’s param Param.dataType and its Effect.dataTypeArity must be of 1 if set on a single dimension of a Param or of Param.numDimensions if set on the Nth dimension of a multi-dimensional Param.

moveModifier(self: Autograph.ModifierList, oldIndex: int, newIndex: int, pushUndoCommand: bool = False) None

Moves a modifier from oldIndex to newIndex in the list. If pushUndoCommand is True, an UndoCommand will be created in the main undo stack.

onEffectInserted(self: Autograph.ModifierList, callback: object) None

Register a callback invoked when a modifier is inserted in the list. The function signature must be: callback(self: ModifierList, modifier: Effect)

onEffectMoved(self: Autograph.ModifierList, callback: object) None

Register a callback invoked when a modifier is moved in the list. The function signature must be: callback(self: ModifierList, oldIndex: int, newIndex: int)

onEffectRemoved(self: Autograph.ModifierList, callback: object) None

Register a callback invoked when a modifier is removed from the list. The function signature must be: callback(self: ModifierList, modifier: Effect)

removeModifier(*args, **kwargs)

Overloaded function.

  1. removeModifier(self: Autograph.ModifierList, index: int, pushUndoCommand: bool = False) -> None

Removes the modifier at the given index . If pushUndoCommand is True, an UndoCommand will be created in the main undo stack.

  1. removeModifier(self: Autograph.ModifierList, modifier: Autograph.Effect, pushUndoCommand: bool = False) -> None

Removes the given modifier from the list. If pushUndoCommand is True, an UndoCommand will be created in the main undo stack.

class Autograph.Numeric2DParam

Inherits DoubleParam2DBase. This class adds methods to control retiming of spatial trajectories.

isSpatialPosition(self: Autograph.Numeric2DParam) bool

Returns true if this Numeric2DParam represents a spatial position

property retimingCurve

If isSpatialPosition is enabled, returns the retiming curve used to adjust the trajectory easing. Keyframes are automatically managed by the Param itself and correspond to each non constant time keyframes on the X and Y curves.

class Autograph.Panel

Base class for all Panels

property displayName

The name of the Panel as seen in the UI

property maximized

When True, the Panel takes up the whole window

class Autograph.Param

A Param is the base class representing any parameter in Autograph. Params have many forms such as ChoiceParam or Path2DParam. Some Param classes are responsible to store a value (number, string, complex object…) and can optionnally give the user an interface to interact with. Some other Param classes are purely meant for the UI and do not store any value. Some Param classes can have child Params, such as Transform2DParam. You can iterate over all child params generically with Param.getParams(). Params are identified by a unique-name in their parent container (which is either an Effect or another Param).

class DimensionMode
Separated = <DimensionMode.Separated: 1>
Single = <DimensionMode.Single: 2>
Unified = <DimensionMode.Unified: 0>
property name
property value
Separated = <DimensionMode.Separated: 1>
Single = <DimensionMode.Single: 2>
Unified = <DimensionMode.Unified: 0>
addOnDimensionModeChanged(self: Autograph.Param, callback: object) None

Register a callback invoked when the dimension mode of the Param is changed. The function signature must have the following arguments: callback(param: Param)

canSetGeneratorEffect(self: Autograph.Param, effect: Autograph.Effect, dimension: int = 0) bool

Returns True if the given effect can be applied as generator of the Param at the given dimension. N.B: For multi-dimensional Params, multi-dimensional modifiers can be applied by setting dimension= Param.numDimensions

property dataType

(Read-only) The data type that the Generator/Modifiers Effect set on this Param must have. If this Param has a value, this is also the data type of the value managed by the Param

getDimensionMode(self: Autograph.Param) Autograph.Param.DimensionMode

Returns the dimension mode of the Param. This is useful for multi-dimensional Params (i.e: Param.numDimensions

getDisplayName(self: Autograph.Param) str

Returns the name of the Param as displayed in the UI

getDriverParam(self: Autograph.Param, dimension: int = 0) Tuple[Autograph.Param, int]

Returns the Param that this Param is linked to at the given dimension

getGeneratorEffect(self: Autograph.Param, dimension: int = 0) Autograph.Effect

Returns the generator Effect set at the given dimension

getModifiersList(self: Autograph.Param, dimension: int = 0) Autograph.ModifierList

Returns the ModifierList of this Param at dimension. N.B: For multi-dimensional Params, multi-dimensional modifiers can be applied by setting dimension= Param.numDimensions

getParams(self: Autograph.Param) List[Autograph.Param]

Returns all child Params of this Param

getParentEffect(self: Autograph.Param) Autograph.Effect

Returns the parent Effect if the parent is an Effect, or None otherwise

getParentParam(self: Autograph.Param) Autograph.Param

Returns the parent Param if the parent is a Param, or None otherwise

getProject(self: Autograph.Param) Autograph.Project

Returns the Project this Param belongs to

getSharedParams(self: Autograph.Param, dimension: int = 0) List[Tuple[Autograph.Param, int]]

Returns a list of tuple <Param, dimensionIndex> of each Param shared with this param’s dimension

getUniqueName(self: Autograph.Param) str

Returns the unique-name of the Param, which is used to find the Param in Effect.param() or Param.param()

isInProject(self: Autograph.Param) bool

Returns True if this Param is in the project, meaning it belongs to a parent and the parent itself is in the project. This is False when the Param was just created but not yet inserted in its parent container or if the user removed the Param

property numDimensions

a single multi-dimensional generator effect). In this case the dimension index should be numDimensions.

Type:

(Read-only) The number of dimensions of this Param. For example, DoubleParam4DBase has 4 dimensions whereas DoubleParamBase only 1. Dimension indices throughout the API are 0-based, meaning the first dimension is always 0. For multi-dimensional params, when in Unified mode, some operations can be set that affect all dimensions at once (e.g

onDisplayNameChanged(self: Autograph.Param, arg0: object) None

Register a callback invoked when the UI name of the Param is changed. The function signature must have the following arguments: callback(param: Param)

onInProjectChanged(self: Autograph.Param, arg0: object) None

Register a callback invoked when the Param is either inserted in the project or removed from the project. The function signature must have the following arguments: callback(param: Param)

onValueChanged(self: Autograph.Param, arg0: object) None

Register a callback invoked when the value of the Param has changed. For Param classes with a value such as DoubleParamBase, you can call DoubleParamBase::getValue() to get the value. Note that for compound Param types, such as Transform2DParam, this is still invoked if a child Param’s value is changed. The function signature must have the following arguments: callback(param: Param)

param(self: Autograph.Param, uniqueName: str) Autograph.Param

Returns a child Param given its uniqueName or None if not found

resetToDefault(self: Autograph.Param) None

Resets the Param to its default state, removing any animation, but not removing any generator or modifier.

setDimensionMode(self: Autograph.Param, mode: Autograph.Param.DimensionMode, pushUndoCommand: bool = False) None

Set the dimension mode of the Param. This can only be used for multi-dimensional Params. If pushUndoCommand is True, a new UndoCommand will pushed in the undo stack.

setDisplayName(self: Autograph.Param, name: str) None

Set the name of the Param as displayed in the UI

setDriverParam(self: Autograph.Param, other: Autograph.Param, thisDimension: int = -1, otherDimension: int = -1, pushUndoCommand: bool = False) None

Set this Param thisDimension to be linked to the given other Param (or unset if other is None) dimension otherDimension. If thisDimension is -1, all dimensions of this Param will be linked to the other Param’s dimensions.

setGeneratorEffect(*args, **kwargs)

Overloaded function.

  1. setGeneratorEffect(self: Autograph.Param, effect: Autograph.Effect, dimension: int = 0, pushUndoCommand: bool = False) -> None

Set (or unset by passing None) the generator of the Param at the given dimension. N.B: For multi-dimensional Params, multi-dimensional modifiers can be applied by setting dimension= Param.numDimensions

  1. setGeneratorEffect(self: Autograph.Param, projectItem: Autograph.ProjectItem, dimension: int = 0, pushUndoCommand: bool = False) -> None

Set (or unset by passing None) the generator of the Param at the given dimension. N.B: For multi-dimensional Params, multi-dimensional modifiers can be applied by setting dimension= Param.numDimensions

shareParamWith(self: Autograph.Param, other: Autograph.Param, thisDimension: int = -1, otherDimension: int = -1, pushUndoCommand: bool = False) None

Share this Param at thisDimension with the other Param (which must be of the same data type) dimension otherDimension. If thisDimension is -1, all dimensions of this Param will be shared to the other Param’s dimensions.

unshare(self: Autograph.Param, thisDimension: int = -1) None

Unshare this Param at thisDimension from any other Param, making its value local. If thisDimension is -1, all dimensions of this Param will be unshared.

class Autograph.ParamList
addParam(self: Autograph.ParamList, param: Autograph.Param) None
clearParams(self: Autograph.ParamList) None
getNumParams(self: Autograph.ParamList) int
getParamAtIndex(self: Autograph.ParamList, index: int) Autograph.Param
getParamIndex(self: Autograph.ParamList, param: Autograph.Param) int
getParams(self: Autograph.ParamList) List[Autograph.Param]
insertParam(self: Autograph.ParamList, param: Autograph.Param, index: int) None
moveParam(self: Autograph.ParamList, oldIndex: int, newIndex: int) None
onParamInserted(self: Autograph.ParamList, callback: object) None
onParamMoved(self: Autograph.ParamList, callback: object) None
onParamRemoved(self: Autograph.ParamList, callback: object) None
removeParam(*args, **kwargs)

Overloaded function.

  1. removeParam(self: Autograph.ParamList, param: Autograph.Param) -> None

  2. removeParam(self: Autograph.ParamList, index: int) -> None

class Autograph.Path2D

A Path2D is an object composed of a number of graphical building blocks, such as rectangles, ellipses, lines, and curves. Building blocks can be joined in closed subpaths, for example as a rectangle or an ellipse. A closed path has coinciding start and end points. Or they can exist independently as unclosed subpaths, such as lines and curves.

A Path2D object can be constructed as an empty path, with a given start point, or as a copy of another Path2D object. Once created, lines and curves can be added to the path using the lineTo(), arcTo(), cubicTo() and quadTo() functions. The lines and curves stretch from the getCurrentPosition() to the position passed as argument.

The getCurrentPosition() of the path object is always the end position of the last subpath that was added (or the initial start point). Use the moveTo() function to move the getCurrentPosition() without adding a component. The moveTo() function implicitly starts a new subpath, and closes the previous one. Another way of starting a new subpath is to call the closeSubpath() function which closes the current path by adding a line from the getCurrentPosition() back to the path’s start position. Note that the new path will have (0, 0) as its initial getCurrentPosition().

Curve = <ElementType.Curve: 3>
CurveData = <ElementType.Curve: 3>
class ElementType
Curve = <ElementType.Curve: 3>
CurveData = <ElementType.Curve: 3>
Line = <ElementType.Line: 2>
Move = <ElementType.Move: 1>
property name
property value
class FillRule
OddEvenFill = <FillRule.OddEvenFill: 0>
WindingFill = <FillRule.WindingFill: 1>
property name
property value
Line = <ElementType.Line: 2>
Move = <ElementType.Move: 1>
OddEvenFill = <FillRule.OddEvenFill: 0>
WindingFill = <FillRule.WindingFill: 1>
addEllipse(*args, **kwargs)

Overloaded function.

  1. addEllipse(self: Autograph.Path2D, rect: List[float[4]]) -> None

  2. addEllipse(self: Autograph.Path2D, center: List[float[2]], rx: float, ry: float) -> None

addPath(self: Autograph.Path2D, path: Autograph.Path2D) None
addPolygon(self: Autograph.Path2D, polygon: List[List[float[2]]]) None
addRoundedRect(self: Autograph.Path2D, rect: List[float[4]], rx: float, ry: float) None
addText(self: Autograph.Path2D, position: List[float[2]], font: Autograph.Font, text: str) None
angleAtPercent(self: Autograph.Path2D, percent: float) float
arcMoveTo(self: Autograph.Path2D, rect: List[float[4]], angleDegrees: float) None
arcTo(self: Autograph.Path2D, rect: List[float[4]], startAngle: float, sweepAngle: float) None
clear(self: Autograph.Path2D) None
closeSubpath(self: Autograph.Path2D) None
connectPath(self: Autograph.Path2D, path: Autograph.Path2D) None
contains(*args, **kwargs)

Overloaded function.

  1. contains(self: Autograph.Path2D, point: List[float[2]]) -> bool

  2. contains(self: Autograph.Path2D, rect: List[float[4]]) -> bool

  3. contains(self: Autograph.Path2D, path: Autograph.Path2D) -> bool

cubicTo(self: Autograph.Path2D, c1: List[float[2]], c2: List[float[2]], endPoint: List[float[2]]) None
getBoundingBox(self: Autograph.Path2D) List[float[4]]
getCurrentPosition(self: Autograph.Path2D) List[float[2]]
getElementAt(self: Autograph.Path2D, index: int) LA_1_0::lapy::PyPath2D::Element
getElements(self: Autograph.Path2D) List[LA_1_0::lapy::PyPath2D::Element]
getFillRule(self: Autograph.Path2D) Autograph.Path2D.FillRule
getLength(self: Autograph.Path2D) float
getNumElements(self: Autograph.Path2D) int
intersected(self: Autograph.Path2D, path: Autograph.Path2D) Autograph.Path2D
intersects(*args, **kwargs)

Overloaded function.

  1. intersects(self: Autograph.Path2D, path: Autograph.Path2D) -> bool

  2. intersects(self: Autograph.Path2D, rect: List[float[4]]) -> bool

lineTo(self: Autograph.Path2D, point: List[float[2]]) None
moveTo(self: Autograph.Path2D, point: List[float[2]]) None
percentAtLength(self: Autograph.Path2D, length: float) float
pointAtPercent(self: Autograph.Path2D, percent: float) List[float[2]]
quadTo(self: Autograph.Path2D, c: List[float[2]], point: List[float[2]]) None
reversed(self: Autograph.Path2D) Autograph.Path2D
setElementPositionAt(self: Autograph.Path2D, index: int, point: List[float[2]]) None
setFillRule(self: Autograph.Path2D, rule: Autograph.Path2D.FillRule) None
simplified(self: Autograph.Path2D) Autograph.Path2D
slopeAtPercent(self: Autograph.Path2D, percent: float) float
splitDistinctsPaths(self: Autograph.Path2D) List[Autograph.Path2D]
subtracted(self: Autograph.Path2D, path: Autograph.Path2D) Autograph.Path2D
toFillPolygons(self: Autograph.Path2D) List[List[List[float[2]]]]
translate(self: Autograph.Path2D, delta: List[float[2]]) None
united(self: Autograph.Path2D, path: Autograph.Path2D) Autograph.Path2D
class Autograph.Path2DParam

A Path2DParam represents an animatable Cubic Bezier curve. Each bezier point is defined by a Left, Central and Right control point. Two consecutive bezier point constitute thus a bezier segment where…

P0 = Point 1 Central P1 = Point 1 Right P2 = Point 2 Left P3 = Point 2 Central

If the Path2DParam.closed property is True, the last point’s Right control point is connected to the first point’s Left control point.

Each control point itself is a DoubleParam2DBase and can have an animation curve. For convenience, the Path2DParam.animationCurve() returns a curve that can manipulate keyframes on all points at once, as if keyframes where set on the Path directly in the UI.

Central = <PointType.Central: 1>
Left = <PointType.Left: 0>
class PointType
Central = <PointType.Central: 1>
Left = <PointType.Left: 0>
Right = <PointType.Right: 2>
property name
property value
Right = <PointType.Right: 2>
property animationCurve

The animation Curve of the Path2DParam. Keyframes have no value on their own, they are just useful for their time component.

property closed

Whether the first and last points of the path are connected

getControlPointParam(self: Autograph.Path2DParam, index: int, controlPoint: Autograph.Path2DParam.PointType) Autograph.Param

Returns the DoubleParam2DBase param corresponding to the control point at the given index . index is a 0-based index in the number of bezier segments

getFeatherContourAnimationAtTime(self: Autograph.Path2DParam, time: float) Autograph.Path2D

Returns a Path2D of the feather contour at the given time

getFeatherPointParam(self: Autograph.Path2DParam, index: int, controlPoint: Autograph.Path2DParam.PointType) Autograph.Param

Returns the DoubleParam2DBase param corresponding to the feather point at the given index . index is a 0-based index in the number of bezier segments

getMainContourAnimationAtTime(self: Autograph.Path2DParam, time: float) Autograph.Path2D

Returns a Path2D of the main path contour at the given time

getNumBezierSegments(self: Autograph.Path2DParam) int

Returns the number of bezier segments

getNumControlPoints(self: Autograph.Path2DParam) int

Returns the number of control points, i.e: equivalent to getNumBezierSegments() * 3

insertControlPoint(self: Autograph.Path2DParam, index: int, x: float, y: float) None

Inserts 3 control points in the curve in the following order: Left, Central, Right. index is a 0-based index in the number of bezier segments

insertControlPointOnCurve(self: Autograph.Path2DParam, t: float, time: float) None

Inserts 3 control points along the curve, where t is a float in the range [0, getNumBezierSegments()]

property pointParamsControlEnabled

Enable the user to control the points of the path as parameters. It also enables usage of generator/modifiers on each point param. Without this enabled, only the animation curve of the point params are taken into account

removeControlPointAtIndex(self: Autograph.Path2DParam, index: int) None

Removes the control point at the given index. index is a 0-based index in the number of bezier segments

removeFeatherPointAtIndex(self: Autograph.Path2DParam, index: int) None

Reset the feather control point at the given index to be the same as its control point counter-part

removeKeyFrame(self: Autograph.Path2DParam, time: float) None

Remove a keyframe on the path at the given time

property retimingCurve

The retiming Curve of the Path2DParam. Keyframes values are mapping the time in seconds.

setControlPoint(self: Autograph.Path2DParam, time: float, index: int, x: float, y: float, controlPoint: Autograph.Path2DParam.PointType) None

Set the control point position at the given time. If you don’t want to force a keyframe, you can pass KeyFrame.InvalidTime . index is a 0-based index in the number of bezier segments

setFeatherPoint(self: Autograph.Path2DParam, time: float, index: int, x: float, y: float, controlPoint: Autograph.Path2DParam.PointType) None

Set the feather point position at the given time. If you don’t want to force a keyframe, you can pass KeyFrame.InvalidTime . index is a 0-based index in the number of bezier segments

setKeyFrame(self: Autograph.Path2DParam, time: float) None

Set a keyframe on the path at the given time

class Autograph.Project

The Project is the main class containing all data related to a single project in Autograph. This is the class on which you will find project-wide functions and get access to any element.

beginUndoMacro(self: Autograph.Project, text: str) None

Beings an undo-macro with the given text . While opened, any UndoCommand that is pushed to the stack will be concatenated in the same macro so that the user can undo them all at once.

close(self: Autograph.Project, warnIfUnsaved: bool) None

Close the current project and reset the project to default state. If warnIfUnsaved is True, a warning will prompt the user to save any unsave changes to the project

create3DScene(self: Autograph.Project, parentItem: Autograph.ProjectItem = None, pushUndoComand: bool = False) Autograph.Effect

Create a new ProjectItem that contains a Scene3D and returns the corresponding Effect corresponding to ProjectItem.getMainEffectInstance()

createAudioMix(self: Autograph.Project, parentItem: Autograph.ProjectItem = None, pushUndoComand: bool = False) Autograph.AudioMix

Create a new ProjectItem that contains a AudioMix and returns the corresponding AudioMix corresponding to ProjectItem.getMainEffectInstance()

createComposition(self: Autograph.Project, parentItem: Autograph.ProjectItem = None, pushUndoComand: bool = False) Autograph.Composition

Create a new ProjectItem that contains a Composition and returns the corresponding Composition corresponding to ProjectItem.getMainEffectInstance()

createFolder(self: Autograph.Project, parentItem: Autograph.ProjectItem = None, pushUndoComand: bool = False) Autograph.ProjectItem

Create a new ProjectItem representing a folder that can contain other child items.

endUndoMacro(self: Autograph.Project) None

End the currently opened macro. Nested macros are not supported

getAllProjectItems(self: Autograph.Project) List[Autograph.ProjectItem]

Returns all project items

getItemByName(self: Autograph.Project, uniqueName: str) Autograph.ProjectItem

Returns a ProjectItem by its unique-name

getLastFocusedPanel(self: Autograph.Project) Autograph.Panel

Returns the currently focused Panel

getLastFocusedTimelinePanel(self: Autograph.Project) Autograph.TimelinePanel

Returns the currently focused TimelinePanel

getLastFocusedViewerPanel(self: Autograph.Project) Autograph.ViewerPanel

Returns the currently focused ViewerPanel

getPanels(self: Autograph.Project) List[Autograph.Panel]

Returns a list of all panels

getProjectFilePath(self: Autograph.Project) str

Returns the current project’s file-path

getProjectPanel(self: Autograph.Project) Autograph.TimelinePanel

Returns the project panel

getPropertiesPanel(self: Autograph.Project) Autograph.TimelinePanel

Returns the PropertiesPanel

getRenderManager(self: Autograph.Project) Autograph.RenderManager

Returns the RenderManager for the project

getRootItem(self: Autograph.Project) Autograph.ProjectItem

Returns the root ProjectItem that contains all items in the project

importCSVAsset(self: Autograph.Project, filePath: str, parentItem: Autograph.ProjectItem = None, pushUndoComand: bool = False) Autograph.Effect

Create a new ProjectItem that contains a CSV reader and returns the corresponding Effect corresponding to ProjectItem.getMainEffectInstance() . parentItem can be a folder in which you want to insert the item. If None, it will be added as child of the root item

importFont(self: Autograph.Project, filePath: str, parentItem: Autograph.ProjectItem = None, pushUndoComand: bool = False) Autograph.ProjectItem

Create a new ProjectItem that contains a font. The font will be available in the font selector menus in the project. This is also useful when exporting a Package so that the font is embedded in the Package encrypted archive. parentItem can be a folder in which you want to insert the item. If None, it will be added as child of the root item

importFootage(self: Autograph.Project, filePath: str, interpretImagesAsSequence: bool = True, parentItem: Autograph.ProjectItem = None, pushUndoComand: bool = False) Autograph.Effect

Create a new ProjectItem that contains a media reader and returns the corresponding Effect corresponding to ProjectItem.getMainEffectInstance() . parentItem can be a folder in which you want to insert the item. If None, it will be added as child of the root item

importSubProject(self: Autograph.Project, filePath: str, parentItem: Autograph.ProjectItem = None, pushUndoComand: bool = False) Autograph.Effect

Create a new ProjectItem that contains a sub-project reader and returns the corresponding Effect corresponding to ProjectItem.getMainEffectInstance() . parentItem can be a folder in which you want to insert the item. If None, it will be added as child of the root item

importUSDAsset(self: Autograph.Project, filePath: str, parentItem: Autograph.ProjectItem = None, pushUndoComand: bool = False) Autograph.Effect

Create a new ProjectItem that contains a USD reader and returns the corresponding Effect corresponding to ProjectItem.getMainEffectInstance() . parentItem can be a folder in which you want to insert the item. If None, it will be added as child of the root item

isClosingProject(self: Autograph.Project) bool

Returns True if the project is being closed

property loadingSerialization

While set to true, Autograph will assume all modifications made to the project correspond to a state from a file. For example, events that would initialize default values (such as the Positions of a Linear gradient based on the Composition Format) would be ignored

onClosingProjectChanged(self: Autograph.Project, arg0: object) None

Register a callback invoked when the file-path of the project is changed. The signature of the function must be: callback(self: Project, isClosing: bool) This function will be invoked twice when closing the project, where isClosing is True if the project is currently closing and False once the project is finished closing

onProjectFilePathChanged(self: Autograph.Project, arg0: object) None

Register a callback invoked when the file-path of the project is changed. The signature of the function must be: callback(self: Project)

open(self: Autograph.Project, filepath: str) None

Open the project at the given filepath . If a project is already opened, this function will raise an error

pushUndoCommand(self: Autograph.Project, command: Autograph.UndoCommand) None

Push an UndoCommand in the undo-stack and execute its UndoCmmand.doRedo() function

removeItem(self: Autograph.Project, item: Autograph.ProjectItem) None

Removes the given ìtem` from the project

save(self: Autograph.Project, filepath: str, keepCurrentOpened: bool) None

Save the project to the given filepath . If keepCurrentOpened is true, the newly saved file will not replace the current project’s file-path.

class Autograph.ProjectItem

A ProjectItem represents a single item in the Project Panel. A ProjectItem can have children (in the case of folders). A ProjectItem does not have a constructor and is created by using one of the create/import function of the Project .

It can also have an embedded Effect (e.g: for media reader, USD reader, CSV reader, sub-project reader…) which contains the main instance Params that the user can control when the item is selected in the PropertiesPanel .

To connect a ProjectItem to a generator slot of a Param with Param.setGeneratorEffect(), make sure to use ProjectItem.createEffectSharedInstance() which returns a shared-copy of the Effect that will be local to the Param . This is useful so that the user can Param.unshare() locally some Params and keep others shared.

createEffectSharedInstance(self: Autograph.ProjectItem) Autograph.Effect
getChildren(self: Autograph.ProjectItem) List[Autograph.ProjectItem]

Returns a list of the children of this item

getDisplayName(self: Autograph.ProjectItem) str

Returns the UI name of the project item

getMainEffectInstance(self: Autograph.ProjectItem) Autograph.Effect
getParentItem(self: Autograph.ProjectItem) Autograph.ProjectItem

Returns the parent item

getProject(self: Autograph.ProjectItem) Autograph.Project

Returns the Project this item belongs to

getUniqueName(self: Autograph.ProjectItem) str

Returns the unique-name of this ProjectItem, uniquely identifying it in the project. You can retrieve it with Project.getItemByName()

isInProject(self: Autograph.ProjectItem) bool

Returns True if this ProjectItem is in the project, meaning it belongs to a parent (or is the root item) and the parent itself is in the project. This is False when the ProjectItem was just created but not yet inserted in its parent container or if the user removed the Param

onDisplayNameChanged(self: Autograph.ProjectItem, arg0: object) None

Register a callback invoked when the UI name of the Param is changed. The function signature must have the following arguments: callback(self: ProjectItem)

onInProjectChanged(self: Autograph.ProjectItem, arg0: object) None
setDisplayName(self: Autograph.ProjectItem, name: str) None

Set the UI name of the project item

setUniqueName(self: Autograph.ProjectItem, name: str) None

Set the unique name of the project item. If a name already exists, a suffix will be added automatically

class Autograph.RenderManager

The RenderManager acts as a queue of CompRender and can start rendering them.

cancelRenders(self: Autograph.RenderManager) None

Cancel all ongoing renders

createRenderForComposition(self: Autograph.RenderManager, arg0: Autograph.Composition) Tuple[Autograph.CompRender, Autograph.CompRenderInstance, Autograph.CompRenderFile]

Shortcut that creates a CompRender, CompRenderInstance and CompRenderFile. This is the same as doing:

render=Autograph.CompRender()
render.setComposition(comp)

instance=Autograph.CompRenderInstance()
render.insertInstance(instance)

file=Autograph.CompRenderFile();
instance.insertFile(file)
getNumRenders(self: Autograph.RenderManager) int

Returns the number of renders

getRenderAtIndex(self: Autograph.RenderManager, index: int) Autograph.CompRender

Returns a render at the given index

getRenderForComposition(self: Autograph.RenderManager, comp: Autograph.Composition) Autograph.CompRender

Returns an existing CompRender for the given comp , otherwise returns None

getRenderIndex(self: Autograph.RenderManager, render: Autograph.CompRender) int

Returns the given render index

getRenders(self: Autograph.RenderManager) List[Autograph.CompRender]

Returns all renders

insertRender(self: Autograph.RenderManager, render: Autograph.CompRender, index: int = -1) None

Insert a render at the given index

isRendering(self: Autograph.RenderManager) bool

Returns True when the RenderManager is currently rendering a CompRender

moveRender(self: Autograph.RenderManager, oldIndex: int, newIndex: int) None

Move a render in the list

onRenderFinished(self: Autograph.RenderManager, callback: object) None

Register a callback invoked when all CompRender in the list finished their render. The function signature must be: callback(error: str) where the error is contains the error message if the render failed

removeRender(*args, **kwargs)

Overloaded function.

  1. removeRender(self: Autograph.RenderManager, arg0: int) -> None

Remove the render at the given index

  1. removeRender(self: Autograph.RenderManager, arg0: Autograph.CompRender) -> None

Remove the given render

startRenders(self: Autograph.RenderManager, blocking: bool) None

Start all enabled CompRender in the list

class Autograph.Settings

Base-class for custom settings classes. Derive this class and override the save/load functions. Settings are represent custom JSON file saved in a dedicated JSON file in Autograph user settings data.

On Windows, the settings can be found in C:\Users\<user\Documents\LeftAngle\Autograph\Settings

On macOS and Linux, the settings can be found in ~/LeftAngle/Autograph/Settings

Custom settings objects must be registered to the Application with Application.registerAndLoadSettings() Only one instance of the class is needed per process.

Autograph.app.registerAndLoadSettings(MySettings(), 'MySettings')
load(self: Autograph.Settings, value: object) None

Implement to load the values contained in the dict value that was returned from save()

save(self: Autograph.Settings) object

Implement to return a dict of the data to save. Values in the dict must be of type int, float, string, boolean, list, dict)

class Autograph.ShapeGroupParam
class Autograph.ShapeInstancerParam
class Autograph.StampStyleParam
class Autograph.StringParamBase

Base class for value based Params of a given type and fixed number of dimensions. This class exposes the animation curve with getCurve() which can be used to manipulate keyframes.

getCurve(self: Autograph.StringParamBase, dimension: int = 0) Autograph.Curve

Returns the animation curve of this Param at the given dimension

getValue(self: Autograph.StringParamBase, time: float = KeyFrame.InvalidTime, dimension: int = 0) str

Get the value of the param, applying generator/modifiers if any at the given time and for the given dimension

getValues(self: Autograph.StringParamBase, time: float = inf) List[str[1]]

For a multi-dimensional Param, get the values of the param across each dimension, applying generator/modifiers if any at the given time and returns a list with the values

hasKeyFrames(self: Autograph.StringParamBase, dimension: int = 0) bool

Returns true if the Param has keyframes in the Curve at the given dimension

setDefaultValue(self: Autograph.StringParamBase, value: str, dimension: int = 0) None

Set the default value of the Param at the given dimension

setDefaultValues(self: Autograph.StringParamBase, values: List[str[1]]) None

Set the default value of the Param across all dimensions

setValue(self: Autograph.StringParamBase, value: str, time: float = KeyFrame.InvalidTime, dimension: int = 0, pushUndoCommand: bool = False) None

Set the value of the param at the given time and given dimension . If pushUndoCommand is True, and UndoCommand will be pushed in the main undo stack. If time is KeyFrame.InvalidTime and if the Param doesn’t have any animation, no keyframe will be inserted.

setValueAndDefaultValue(self: Autograph.StringParamBase, value: str, dimension: int = 0) None

Same as setDefaultValue() but also set the current value

setValues(self: Autograph.StringParamBase, values: List[str[1]], time: float = KeyFrame.InvalidTime, pushUndoCommand: bool = False) None

Same as setValue() but for all dimensions at once

setValuesAndDefaultValues(self: Autograph.StringParamBase, values: List[str[1]]) None

Same as setDefaultValues() but also set the current value

class Autograph.StrokeStyleParam
class Autograph.TextAnimatorListParam
class Autograph.TextAnimatorParam
AnchorPoint = <Property.AnchorPoint: 1048576>
FillColor = <Property.FillColor: 16>
LetterSpacing = <Property.LetterSpacing: 4096>
LineHeight = <Property.LineHeight: 524288>
Opacity = <Property.Opacity: 65536>
Position = <Property.Position: 8192>
class Property
AnchorPoint = <Property.AnchorPoint: 1048576>
FillColor = <Property.FillColor: 16>
LetterSpacing = <Property.LetterSpacing: 4096>
LineHeight = <Property.LineHeight: 524288>
Opacity = <Property.Opacity: 65536>
Position = <Property.Position: 8192>
Rotation = <Property.Rotation: 16384>
Scale = <Property.Scale: 32768>
Skew = <Property.Skew: 2097152>
StrokeColor = <Property.StrokeColor: 131072>
StrokeWidth = <Property.StrokeWidth: 262144>
property name
property value
Rotation = <Property.Rotation: 16384>
Scale = <Property.Scale: 32768>
Skew = <Property.Skew: 2097152>
StrokeColor = <Property.StrokeColor: 131072>
StrokeWidth = <Property.StrokeWidth: 262144>
property amount
property anchorPoint
property anchorPointGrouping
property enabled
property fillColor
property fontLetterSpacing
getProperties(self: Autograph.TextAnimatorParam) List[Autograph.TextAnimatorParam.Property]

Returns all enabled animated properties

isPropertyEnabled(self: Autograph.TextAnimatorParam, property: Autograph.TextAnimatorParam.Property) bool

Returns whether the property animation is enabled

property lineHeight
property opacity
property position
property rotation
property scale
property selectors
setPropertyEnabled(self: Autograph.TextAnimatorParam, property: Autograph.TextAnimatorParam.Property, enabled: bool) None

Enable or disable the property animation

property skew
property strokeColor
property strokeWidth
class Autograph.TextBlock
property charFormatIndex

Returns the index of the block format in the text document

property text

Returns the text of the block

class Autograph.TextBlockFormat
class Alignment
AlignAbsolute = <Alignment.AlignAbsolute: 16>
AlignBaseline = <Alignment.AlignBaseline: 256>
AlignBottom = <Alignment.AlignBottom: 64>
AlignCenter = <Alignment.AlignCenter: 132>
AlignHCenter = <Alignment.AlignHCenter: 4>
AlignJustify = <Alignment.AlignJustify: 8>
AlignLeft = <Alignment.AlignLeft: 1>
AlignRight = <Alignment.AlignRight: 2>
AlignTop = <Alignment.AlignTop: 32>
AlignVCenter = <Alignment.AlignVCenter: 128>
property name
property value
property alignment
property bottomMargin
property leftMargin
property lineHeight
property rightMargin
property textIdentation
property topMargin
class Autograph.TextCharFormat
class Capitalization
AllLowercase = <Capitalization.AllLowercase: 2>
AllUppercase = <Capitalization.AllUppercase: 1>
Capitalize = <Capitalization.Capitalize: 4>
MixedCase = <Capitalization.MixedCase: 0>
SmallCaps = <Capitalization.SmallCaps: 3>
property name
property value
class SpacingMode
Absolute = <SpacingMode.Absolute: 1>
Percent = <SpacingMode.Percent: 0>
property name
property value
class Stretch
AnyStretch = <Stretch.AnyStretch: 0>
Condensed = <Stretch.Condensed: 75>
Expanded = <Stretch.Expanded: 125>
ExtraCondensed = <Stretch.ExtraCondensed: 62>
ExtraExpanded = <Stretch.ExtraExpanded: 150>
SemiCondensed = <Stretch.SemiCondensed: 87>
SemiExpanded = <Stretch.SemiExpanded: 112>
UltraCondensed = <Stretch.UltraCondensed: 50>
UltraExpanded = <Stretch.UltraExpanded: 200>
Unstretched = <Stretch.Unstretched: 100>
property name
property value
class Weight
Black = <Weight.Black: 87>
Bold = <Weight.Bold: 75>
DemiBold = <Weight.DemiBold: 63>
ExtraBold = <Weight.ExtraBold: 81>
ExtraLight = <Weight.ExtraLight: 12>
Light = <Weight.Light: 25>
Medium = <Weight.Medium: 57>
Normal = <Weight.Normal: 50>
Thin = <Weight.Thin: 0>
property name
property value
property fillColor
property fontCapitalization
property fontFamily
property fontItalic
property fontKerning
property fontLetterSpacing
property fontLetterSpacingMode
property fontPixelSize
property fontSpacing
property fontStretch
property fontStrikeout
property fontStyle
property fontUnderline
property fontWeight
property strokeColor
property strokeOverFill
property strokeWidth
class Autograph.TextDocument
getAllFormats(self: Autograph.TextDocument) List[Autograph.TextFormat]

Returns an array of all TextFormat used in the document. TextBlock and TextFragment refer to these formats by their index in this array

getBlockAtIndex(self: Autograph.TextDocument, index: int) Autograph.TextBlock

Returns the TextBlock at the given index

getNumBlocks(self: Autograph.TextDocument) int

Returns the number of TextBlock in the document

class Autograph.TextDocumentEditor
clear(self: Autograph.TextDocumentEditor) None

Clear the document

clearSelection(self: Autograph.TextDocumentEditor) None

Clear any selected character in the object. Note that this does not affect the visual selection made by the user

deleteChar(self: Autograph.TextDocumentEditor) None

Remove the selected characters or the character next to the current position if there’s no selection

deletePreviousChar(self: Autograph.TextDocumentEditor) None

Remove the selected characters or the character right before the current position if there’s no selection

getBlockFormatBeforePosition(self: Autograph.TextDocumentEditor) Autograph.TextBlockFormat

Returns the TextBlockFormat of the character before the current position

getCharFormatBeforePosition(self: Autograph.TextDocumentEditor) Autograph.TextCharFormat

Returns the TextCharFormat of the character before the current position

getSelectionEnd(self: Autograph.TextDocumentEditor) int

Returns the 1 past the index of the last selected character, or the same as position if there’s no selection

getSelectionStart(self: Autograph.TextDocumentEditor) int

Returns the first index of the selected characters, or the same as position if there’s no selection

insertBlock(self: Autograph.TextDocumentEditor) None

Insert a new block in the document. Note that the document when empty already has one empty block

insertText(self: Autograph.TextDocumentEditor, text: str) None

Insert the given text in the current block with the current character format

insertTextWithFormat(*args, **kwargs)

Overloaded function.

  1. insertTextWithFormat(self: Autograph.TextDocumentEditor, text: str, charFormat: Autograph.TextCharFormat) -> None

Insert the given text in the current block with the given TextCharFormat

  1. insertTextWithFormat(self: Autograph.TextDocumentEditor, blockFormat: Autograph.TextBlockFormat) -> None

Insert a new TextBlock with the given TextBlockFormat

property position

Set the position of the cursor where to insert or edit characters

selectCharacters(self: Autograph.TextDocumentEditor, n: int) None

Select the n next characteers after the current position. Note that this does not affect the visual selection made by the user

setBlockCharFormat(self: Autograph.TextDocumentEditor, charFormat: Autograph.TextCharFormat) None

Set the TextCharFormat of all characters within the TextBlock at the current position or of all selected blocks

setBlockFormat(self: Autograph.TextDocumentEditor, blockFormat: Autograph.TextBlockFormat) None

Set the TextBlockFormat of the TextBlock at the current position or of all selected blocks

setCharFormat(self: Autograph.TextDocumentEditor, charFormat: Autograph.TextCharFormat) None

Set the TextCharFormat at the current position or of all selected characters

class Autograph.TextFormat
isValid(self: Autograph.TextFormat) bool
class Autograph.TextFragment
property charFormatIndex

Returns the index of the character format in the text document

property length

Returns the number of characters in the fragment

property position

Returns the index of the first character in the fragment

class Autograph.TextGenerator
property document
class Autograph.TextSelectorListParam
class Autograph.TextSelectorParam
property amount
property amplitude
property basedOn
property correlation
property easeHigh
property easeLow
property easing
property enabled
property end
property fps
property frequency
property maxAmount
property minAmount
property mode
property offset
property overshoot
property period
property randomize
property randomizeSeed
property repeat
property repeatSpacing
property shape
property spatialPhase
property start
property type
property units
class Autograph.Timecode

A Timecode is a small object representing a precise time-point in the form hour:minute:second:frame

property frame
property hour
property minute
property second
toSeconds(self: Autograph.Timecode, fps: float) float
class Autograph.TimelineClipboard
getText(self: Autograph.TimelineClipboard) str

Returns the serialized JSON text from the clipboard

storeInSystemClipboard(self: Autograph.TimelineClipboard) None

Store the current clipboard states to the Desktop clipboard. This is useful to paste it in another text editor

class Autograph.TimelinePanel

The TimelinePanel controls anything in the timeline such as the current time, selected rows, selected keyframes and active composition.

property activeComposition

The active Composition set in the timeline

applyClipboardToSelection(self: Autograph.TimelinePanel, clipboard: Autograph.TimelineClipboard) None

Applies the given clipboard to the current selection

collapseItem(self: Autograph.TimelinePanel, row: Autograph.TimelineRow) None

Collapses the given row but not necessarily its parent rows

property currentTime

The current Timecode of the timeline

expandItem(self: Autograph.TimelinePanel, row: Autograph.TimelineRow) None

Expands the given row but not necessarily its parent rows

expandRecursively(self: Autograph.TimelinePanel, row: Autograph.TimelineRow, depth: int = -1) None

Expands the tree node at the given row in the view recursively down to depth. depth should be relative to the depth of row. If depth is -1, the tree will be expanded all the way down to all leaves.

getClipboard(self: Autograph.TimelinePanel, rows: List[Autograph.TimelineRow], keys: List[Tuple[Autograph.Param, int, float]]) Autograph.TimelineClipboard

Returns a new TimelineClipboard that contains the serialization of the given rows and keyframes

getClipboardFromSelection(self: Autograph.TimelinePanel) Autograph.TimelineClipboard

Returns a new TimelineClipboard that contains the serialization of the current selection

getClipboardFromSystem(self: Autograph.TimelinePanel) Autograph.TimelineClipboard

Returns a new TimelineClipboard that contains the serialization set in the current ‘text/plain’ mimetype of the system’s clipboard

getRow(*args, **kwargs)

Overloaded function.

  1. getRow(self: Autograph.TimelinePanel, param: Autograph.Param, dimension: int = 0) -> Autograph.TimelineRow

Returns a TimelineRow object corresponding to the given param dimension

  1. getRow(self: Autograph.TimelinePanel, effect: Autograph.Effect) -> Autograph.TimelineRow

Returns a TimelineRow object corresponding to the given effect (which can be a layer)

getSelectedKeyframes(self: Autograph.TimelinePanel) List[Tuple[Autograph.Param, int, float]]

Returns the currently selected keyframes

getSelectedRows(self: Autograph.TimelinePanel) List[Autograph.TimelineRow]

Returns the list of selected TimelineRow

mapParamToTimelineTime(self: Autograph.TimelinePanel, param: Autograph.Param, timeInSeconds: float) float

Convert a time (in seconds) from the given param local time space to a Composition referred time space. The mapping will properly apply all offsets and stretches on layers. This produces the inverse of mapTimelineToParamTime()

mapTimelineToParamTime(self: Autograph.TimelinePanel, param: Autograph.Param, timeInSeconds: float) float

Convert a time (in seconds) from a Composition referred time space to the given param local time space. The mapping will properly apply all offsets and stretches on layers

onActiveCompositionChanged(self: Autograph.TimelinePanel, callback: object) None

Register a callback invoked when the timeline’s active Composition is changed. The function signature must be callback(panel TimelinePanel , composition: Composition)

onCurrentTimeChanged(self: Autograph.TimelinePanel, callback: object) None

Register a callback invoked when the timeline’s current time is changed. The function signature must be callback(panel: TimelinePanel, time: Timecode)

onKeyframesSelectionChanged(self: Autograph.TimelinePanel, arg0: object) None

Register a callback invoked when the keyframes selection changes. The function signature must be callback(panel TimelinePanel)

onSelectionChanged(self: Autograph.TimelinePanel, callback: object) None

Register a callback invoked when the timeline’s selected rows changes. The function signature must be callback(panel TimelinePanel)

revealItem(self: Autograph.TimelinePanel, row: Autograph.TimelineRow) None

Expand all ancestor rows to ensure this row is visible and also scrolls the view to ensure the row is visible in the view

secondsToTimecode(self: Autograph.TimelinePanel, sec: float) Autograph.Timecode

Convert seconds to a timecode using the active composition framerate

setSelectedKeyframes(self: Autograph.TimelinePanel, keys: List[Tuple[Autograph.Param, int, float]]) None

Set the currently selected keyframes. Each keyframe is a tuple [param: Param,dimension: int, time: float]

setSelectedRows(self: Autograph.TimelinePanel, rows: List[Autograph.TimelineRow]) None

Set the timeline’s selected rows

timecodeToSeconds(self: Autograph.TimelinePanel, timecode: Autograph.Timecode) float

Convert a timecode to seconds using the active composition framerate

class Autograph.TimelineRow
property model

Param

Type:

The underlying class represented by the row. This is either an Effect or class

class Autograph.Transform2DParam
property amount
property anchorPoint
getMatrix(self: Autograph.Transform2DParam, arg0: float) numpy.ndarray[numpy.float64[3, 3]]

Returns the 3x3 transform matrix, properly applying generator/modifiers if any

property invert
property position
property rotation
property scale
property skew
property skewOrder
class Autograph.Transform3DParam
property amount
property anchorPoint
getMatrix(self: Autograph.Transform3DParam, arg0: float) numpy.ndarray[numpy.float64[4, 4]]

Returns the 4x4 transform matrix, properly applying generator/modifiers if any

property interpolationMode
property invert
property position
property quaternionAngle
property rotation
property rotationOrder
property scale
property skew
property skewOrder
class Autograph.UndoCommand
doRedo(self: Autograph.UndoCommand) None
doUndo(self: Autograph.UndoCommand) None
class Autograph.ViewerPanel
Alpha = <DisplayChannels.Alpha: 4>
Blue = <DisplayChannels.Blue: 3>
BlueStraight = <DisplayChannels.BlueStraight: 10>
class DisplayChannels
Alpha = <DisplayChannels.Alpha: 4>
Blue = <DisplayChannels.Blue: 3>
BlueStraight = <DisplayChannels.BlueStraight: 10>
Green = <DisplayChannels.Green: 2>
GreenStraight = <DisplayChannels.GreenStraight: 9>
Matte = <DisplayChannels.Matte: 5>
RGB = <DisplayChannels.RGB: 0>
Red = <DisplayChannels.Red: 1>
RedStraight = <DisplayChannels.RedStraight: 8>
property name
property value
Green = <DisplayChannels.Green: 2>
GreenStraight = <DisplayChannels.GreenStraight: 9>
Matte = <DisplayChannels.Matte: 5>
RGB = <DisplayChannels.RGB: 0>
Red = <DisplayChannels.Red: 1>
RedStraight = <DisplayChannels.RedStraight: 8>
property altSource

The Effect to render in the A slot of the viewport.

centerViewerOn(self: Autograph.ViewerPanel, point: List[float[2]]) None

Center the viewer to the given coordinate, in scene space

property channels

The channels of the image to display

property checkerboardEnabled

Whether the checkerboard is enabled

property clipFormatEnabled

Whether the rendered image is clipped to the format or not

property colorPickerEnabled

Whether the viewer should compute a color-picker image. This is required for getColorFromImage() to succeed

property currentTime

class`Timecode` of the timeline

Type:

The current

fitToFormat(self: Autograph.ViewerPanel) None

Fit the currently displayed image format in the viewport

property formatOverride

int, pixelAspectRatio: float] that overrides the actual Composition format. Note that the format must match a known format in the Preferences.

Type:

A tuple [width

Type:

int, height

property fullScreen

Whether the viewport is fullscreen on screen or not

property gainEnabled

Whether the gain output process is enabled

property gainValue

The gain value of the output process. This is actually used as a power of two

property gammaEnabled

Whether the gamma output process is enabled

property gammaValue

Whether the gamma output process is enabled

getColorFromImage(self: Autograph.ViewerPanel, position: List[float[2]]) Tuple[bool, List[float[4]], List[float[4]]]

Returns a tuple [gotIt: bool, workingColorspaceValues: list[4 float], displaySpaceValues: list[4 float] with the Working Colorspace RGBA and Display Colorspace RGBA values of the image at the given scene position. The value is not interpolated and coordinates are rounded to the nearest pixel integer position. This function may return False if the coordinaate are outside the image bounds or if the viewer doesn’t have a color-picker image (which may happen if colorPickerEnabled is False).

getFirstFrame(self: Autograph.ViewerPanel) Autograph.Timecode

Returns the first frame of the timeline

getImageFormat(self: Autograph.ViewerPanel) Tuple[int, int, float]

Returns a tuple [width: int, height: int, pixelAspectRatio: float] with the format of the main source of the viewer

getLastFrame(self: Autograph.ViewerPanel) Autograph.Timecode

Returns the last frame of the timeline

hasColorPickerImage(self: Autograph.ViewerPanel) bool

Wether the viewer has a color-picker image that can be used for ViewerPanel.getColorFromImage()

property is3DEnabled

When the main source of the viewer is a 3D Composition, this attribute controls whether the viewer is in 3D or 2D

isDuringPlayback(self: Autograph.ViewerPanel) bool

Returns true if playback is active

property mainSource

The Effect to render in the B slot of the viewport. If this is a Composition, it also set the timeline of the viewport to be the one of the TimelinePanel currently editing this Composition.

property mainSourceLocked

if set to a Compositon, changing the active Composition of the associated TimelinePanel will not switch the source of the viewer.

Type:

Whether the B slot is locked

property ocioDisplayName

The OpenColorIO Display name

property ocioViewTransformName

The OpenColorIO View transform name

onAltSourceChanged(self: Autograph.ViewerPanel, callback: object) None

Register a callback invoked when the A slot of the viewer is changed. The function signature must be: callback(self: ViewerPanel)

onCurrentTimeChanged(self: Autograph.ViewerPanel, callback: object) None

Register a callback invoked when the timeline’s current time has changed. The function signature must be: callback(self: ViewerPanel, time: Timecode)

onMainSourceChanged(self: Autograph.ViewerPanel, callback: object) None

Register a callback invoked when the B slot of the viewer is changed. The function signature must be: callback(self: ViewerPanel)

startPlayback(self: Autograph.ViewerPanel, forward: bool = True) None

Start playback (if not running, otherwise call stopPlayback() first). If forward is false, playback will be in reverse

stopPlayback(self: Autograph.ViewerPanel) None

Stop playback if active

property uiVisible

Whether the UI (toolbars etc…) are visible in the viewport

property wipeEnabled

Whether the wipe between the B and A slots is enabled

property zoomFactor

The current zoom factor of the viewport