All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Friends Modules Pages
Harmony Script Interface Documentation


The scripting interface uses Qt Script to provide an efficient way to program tools and macros on top of what is already present in Harmony. Qt Script is based on the ECMAScript 3.0 standard.

Previous releases of Harmony were using QSA script, which was based on a hybrid of the ECMAScript 3.0 and 4.0 standards. While the languages are similar, there are a few differences. See for further details.

Qt Script can be considered as an extension of JavaScript. JavaScript documentation is widely available on the internet. The first 11 chapters (Part 1) of the book Eloquent JavaScript by Marijn Haverbeke which can be read online for free at are a great introduction to the subject.

Scripts can be launched from tool button in toolbars, from the Script Editor, the Master Controller Node or from the Script Editor view. Please see the application Scripting Guide for more information about how to launch a script.

Since the 10.1 release, the Qt UI scripting interface is also included, allowing the construction of complex UI objects (i.e. Dialogs with comboboxes, text edits, etc.) through scripting. The documentation for this interface can be found at
Since version 10.1 scripts referencing other scripts in different files must now use the JavaScript include directive:
include( "TB_orderNetworkUtils.js" )

Getting Started

Simply open the Script Editor and select the Sandbox from the Function list. This area is provided as a means to test out scripts without saving them to a permanent location. By example, type the following:

// This will create a message box with the Hello World text in it.
MessageBox.information("Hello World");
// Print to the Message Log view the number of nodes at the root of the scene.
var nbNodes = node.numberOfSubNodes(node.root());

From the menu select Play/Debug and then Run from the dropDown. And that's all there is to it!

See the general help documentation for instructions on how to use the script editor.