SCRIPTING GUIDE AND REFERENCE MANUAL

[Pages:217]SCRIPTING GUIDE AND REFERENCE MANUAL

February 2016

CONTENTS DSCERLIVPTEIRNYG GUIDE AND REFERENCE

Fusion 8

About this Document

5

Target Audience

5

Requirements

5

Conventions

6

1 Scripting Guide

7

Introduction

9

Quick Start Tutorial

10

Scripting Languages

14

Lua

14

Python

15

Scripting and Debugging

22

Console

22

Types of Scripts

23

Interactive Scripts

23

External Scripts

24

Events & Callbacks

25

InTool Scripts

28

Simple Expressions

29

Fuses

29

Fusion's Object Model

30

Overview

30

Common Object Dependencies

30

Attributes

39

Object Data

40

Metadata

42

Graphical User Interfaces

43

FUSION SCRIPTING GUIDE AND REFERENCE MANUAL

2

CONTENTS DSCERLIVPTEIRNYG GUIDE AND REFERENCE

Fusion 8

2 Scripting Reference

48

Class Hierarchy

51

Reference

52

BezierSpline

52

BinClip

55

BinItem

55

BinManager

56

BinStill

57

ChildFrame

57

ChildGroup

59

Composition

59

FloatViewFrame

94

FlowView

95

FontList

98

FuFrame

99

Fusion

102

FuView

126

GL3DViewer

127

GLImageViewer

127

GLPreview

129

GLView

129

GLViewer

138

Gradient

141

GraphView

142

HotkeyManager

144

Image

144

ImageCacheManager

146

IOClass

147

KeyFrameView

148

FUSION SCRIPTING GUIDE AND REFERENCE MANUAL

3

CONTENTS DSCERLIVPTEIRNYG GUIDE AND REFERENCE

Fusion 8

Link

148

List

149

Loader

149

MailMessage

149

MenuManager

153

Object

153

Operator

153

Parameter

171

PlainInput

172

PlainOutput

179

PolylineMask

181

Preview

182

QueueManager

183

Registry

191

RenderJob

197

RenderSlave

201

ScriptServer

204

SourceOperator

204

TimeRegion

204

TransformMatrix

205

3 Index

208

FUSION SCRIPTING GUIDE AND REFERENCE MANUAL

4

DSCERLIVPTEIRNYG GUIDE AND REFERENCE

About this Document

This document is divided into two sections: The Scripting Guide and the Scripting Reference. The first section, the Scripting Guide, explains the scripting application programming interface (API) of Fusion called FusionScript. It can be accessed via Lua or the Python programming language. FusionScript can be utilized to automate repetitive or complex tasks, customize the application behavior, extend Fusion's functionality, or exchange data with third-party applications. This guide contains information on how to get started, the differences of scripting languages, how the API is laid out to represent the application model, and how to deal with it in practice. The second section, the Scripting Reference, assumes you have an understanding of the scripting concepts and the fundamentals of scripting from the first section. The Scripting Reference describes the common API, its objects, members, arguments and usage. In order to write custom tools or extend Fusion's core functionality, refer to the C++ SDK or Fuse documentation. For regular customization and Macros, read the corresponding chapter in the Fusion User Guide.

Target Audience

This document is intended for developers, technical directors, and users knowledgeable in programming. It was by no means written to teach programming concepts and does not act as a reference for programming languages. Please refer to the documentation of the respective language as advised in the chapter "Scripting Languages." However, when possible practical examples will be given and complete tutorials show the most common applications of FusionScript.

Requirements

In order to follow this guide, you will need to have a copy of Blackmagic Design Fusion 8 installed. A few features only available in Fusion 8 Studio are highlighted, while every other sample will work with the regular version of Fusion 8. In order to utilize Python, the C-based version of Python needs to be installed as explained in detail in the chapter Scripting Languages. The source code of both scripting languages needs to be stored as plain text, which can be written in any non-formatting text processor like Notepad or TextEdit. It is recommended to make use of a dedicated code editor to benefit from syntax highlighting and language-specific features.

FUSION SCRIPTING GUIDE AND REFERENCE MANUAL

5

DSCERLIVPTEIRNYG GUIDE AND REFERENCE

Conventions

Important notes will be featured in text boxes like this: Note Read the Introduction chapters before continuing with the guide.

Code is introduced in boxes with a monospaced font like this: print("Hello World from Fusion!") -- Writes text to the console

Regular text may refer to code statements inline, which is also represented by a monospaced font, e.g., the statement `print' in this sentence:

The statement print writes text to the console. Most examples shown in the guide are only excerpts of the full source code and may not be able to work on their own. This helps to make the guide more readable. However, all passages marked as Tutorial will contain full source code. Most code examples are shown in Lua. Inline statements show the Lua implementation of the particular statement; as with Lua, it is easier to identify properties and methods. In order to not mix up Lua tuples with Python tuples, the generic term collection is used to describe tuples, list, dictionaries, etc. The code here is written for teaching purposes. Sometimes things that could be refactored into separate methods are written explicitly or in a non-optimized way. Please do not hesitate to add your own talent to the code after the fundamental concepts of the API are known. For consistency reasons naming convention follows roughly the naming of the API (cameCase) for both Lua and Python. Feel free to adapt to PEP8 or your own convention instead.

FUSION SCRIPTING GUIDE AND REFERENCE MANUAL

6

Scripting Guide

1

1

SCRIPTING GUIDE

Content

Introduction

9

Quick Start Tutorial10

Scripting Languages

14

Lua14

Python15

Scripting and Debugging

22

Console22

Types of Scripts

23

Interactive Scripts23

External Scripts24

Events & Callbacks25

InTool Scripts28

Simple Expressions29

Fuses29

Fusion's Object Model

30

Overview30

Common Object Dependencies30

Attributes39

Object Data40

Metadata42

Graphical User Interfaces

43

FUSION SCRIPTING GUIDE AND REFERENCE MANUAL

8

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download