Variables can be a useful feature for exporting. This article will explain the definition and application of variables within Harmony Premium. We’ll be looking specifically at variables used for filenames, however you can find a section at the bottom of this article about other uses.
What are variables?
A variable is a predetermined word or command that represents a value that will be automatically changed during export based on the type of variable used.
In Harmony, variables have a prefix of $. Using this symbol indicated to Harmony that a variable is being used and Harmony will automatically replace that variable with specific information when exporting.
For instance, using the variable $Scene will automatically insert the scene name in place of the variable during export. Variables can also be used together to export more specific information in the filename.
Where do I use variables?
Variables can be used in the Folder and Filename fields (Output tab) of the following nodes:
- Write node (Image Sequence and Movie sections)
- CryptoMatte-Write
- Multi-Layer-Write
If you hover over these fields, a list of available variables will appear:
About using variables
When using variables in filenames, it is important to know the following:
- All variables must start with $, or it will not be recognised as a variable.
- Correct spelling is important, but capitalization is not.
- Variables and regular naming can be combined. Separate them with an underscore if you want spaces between them. E.g: $Job$SceneNew or $Job_$Scene_New.
- Some variables do not replace themselves with information, but rather add it after the variable name. The following variables do this and are also indicated in the table below:
- $Scene_Metadata
- $Environment_Name
- $Node_Metadata
- $Node_PortName
About padding
Some variables allow you to add padding information, represented by something that looks like (%04d) in the Harmony variable pop-up. The listed values are suggested, and you can adjust the numbers as needed. These padding values must are placed at the end of the variable, must be contained within brackets, and represent the following:
- %: Defines it as a variable.
- 04: Defines the minimum amount of digits. The resulting number will be at least four characters long.
- d: Indicates that the value to be formatted is a decimal integer.
E.g: In a scene where the resolution is 1080x1920;
- the variable $Resolution_Width(%04d) will export the filename 1920.
- the variable $Resolution_Width(%08d) will export the filename 00001920.
Padding can be applied to the following variables (also indicated in the table further down):
- $Version_ID
- $Resolution_Width
- $Resolution_Height
| NOTE: If you want to know how to use variables during export, please see How do I use variables when exporting? |
What variables are available?
The following variables are available to use in Harmony filenames and folders during export. Remember to spell them as shown in the Variable column (capitalization not necessary).
| Variable | Description/Output |
| $Environment | Harmony server environment name |
| $Job | Harmony server job name |
| $Scene | Scene name (Harmony server and Standalone) |
| $Version_ID | Scene’s version ID, can be padded with $Version_ID(%03d) |
| $Version_Name | Scene’s version name |
| $Scene_Metadata | Scene_Metadata value, i.e: $Scene_Metadata(nameOfMetadata) |
| $Environment_Name | System environment value, i.e: $Environment_Name(nameOfEnvironment) |
| $Resolution_Name | Current render resolution name |
| $Resolution_Width | Current render resolution width, can be padded with $Resolution_Width(%04d) |
| $Resolution_Height | Current render resolution height, can be padded with $Resolution_Height(%04d) |
| $Colorspace | Colour space name |
| $Node_Name | Name of the rendering node |
| $Node_Group | Name of the rendering node’s parent group |
| $Node_Metadata | Metadata value of rendering node, i.e: $Node_Metadata(nameOfMetadata) |
| $Node_PortName | Port name of rendering node at given port index, i.e: $Node_PortName(0) |
| $Date | Current date in the format (dd.mm.yyyy) |
Other uses for variables
The following are some other ways variables can be used with or in Harmony:
- Using the %PATH% and $PATH variables for configuring Batch Processing:
- Using the TOONBOOM_GLOBAL_SCRIPT_LOCATION variable to save scripts in a custom directory: