Flame

_images/nim_connector_flame.png

The Flame connector provides integration with NIM from within Flame or Flare to create published shots in NIM, add exported elements to NIM shots, export clips to NIM dailies and edits, and round-trip NIM elements back to the Flame timeline and batchFX.

For an in depth look at the NIM Flame Connector functionality, check out the video here:

NIM Flame Connector from NIM Labs on Vimeo.

Additional NIM videos can be found here: https://nim-labs.com/videos

Installation

The following procedures describes how to install the Flame NIM connector. The connector creates a NIM menu in the Flame library context menu. Right click on a clip in reels or the library to access the context menu. The script and the following installation procedures have been tested with Flame 2017 and later.

The NIM Connector folder structure is as follows:

nim             <-- NIM_CONNECTOR_ROOT
    css
    img
    nim-core
    plugins

In the following examples [NIM_CONNECTOR_ROOT] is the path to the top level NIM scripts folder.

Replace all instances of [NIM_CONNECTOR_ROOT] with the actual path to the folder.

Set Environment

Flame uses the DL_PYTHON_HOOK_PATH environment variable to determine the location of it’s python hooks. The NIM connector uses the Flame python hooks to add to the context menu and including NIM functionality. Follow the instructions below to install the connector on the corresponding operating system.

Linux:

The DL_PYTHON_HOOK_PATH environment variable needs to be set to the “[NIM_CONNECTOR_ROOT]/plugins/Flame/python/pyX” location, where X is the major version of python used by Flame.

Important

Versions of Flame prior to 2022 use Python 2.7 (2), and starting with Flame 2022 the version of Python used is 3.7 (3).

To do this, edit the .bashrc or .cshrc file (depending upon your default shell environment) found in the users home directory to include the following:

For Flame 2022 and greater:

setenv DL_PYTHON_HOOK_PATH [NIM_CONNECTOR_ROOT]/plugins/Flame/python/py3

For versions of Flame prior to 2022:

setenv DL_PYTHON_HOOK_PATH [NIM_CONNECTOR_ROOT]/plugins/Flame/python/py2

Replace [NIM_CONNECTOR_ROOT] with the full path to the NIM Connector root folder.

OSX +10.11.x:

OSX uses plist files to set environment variables for applications. A new plist file needs to be added to set the DL_PYTHON_HOOK_PATH for Flame.

Open the setenv.DL_PYTHON_HOOK_PATH.plist file found in the folder “[NIM_CONNECTOR_ROOT]/plugins/Flame/install/pyX”, where X is the major version of python used by Flame.

Important

Versions of Flame prior to 2022 use Python 2.7 (2), and starting with Flame 2022 the version of Python used is 3.7 (3).

For Flame 2022 and greater:

[NIM_CONNECTOR_ROOT]/plugins/Flame/install/py3/setenv.DL_PYTHON_HOOK_PATH.plist

For versions of Flame prior to 2022:

[NIM_CONNECTOR_ROOT]/plugins/Flame/install/py2/setenv.DL_PYTHON_HOOK_PATH.plist

Edit the file, replacing [NIM_CONNECTOR_ROOT] with the full path to the NIM Connector root folder.

Copy the edited file to: /Library/LaunchAgents/setenv.DL_PYTHON_HOOK_PATH.plist

Execute the folowing lines at the OSX Terminal prompt to modify the plist permissions:

sudo chown root /Library/LaunchAgents/setenv.DL_PYTHON_HOOK_PATH.plist
sudo chgrp wheel /Library/LaunchAgents/setenv.DL_PYTHON_HOOK_PATH.plist
sudo chmod o-w /Library/LaunchAgents/setenv.DL_PYTHON_HOOK_PATH.plist

Warning

The plist will not run if the permissions are not correct.

You must now reboot for the settings to take place.

The next time Flame is started, a NIM menu should appear in the library context main menu. If you don’t see the NIM menu, it’s likely that the path to the DL_PYTHON_HOOK_PATH is incorrect or not set properly.

Setting Preferences

If you have already installed and launched other NIM Connectors your connection preferences will already be saved in the nim.prefs file.

The NIM preferences are in the following locations:

Windows:

drive:/Users/[USERNAME]/.nim

OSX:

/Users/[USERNAME]/.nim

Linux:

/home/[USERNAME]/.nim

If this is the first time accessing a NIM Connector, after launching Flame a dialog box will appear to enter the path of the NIM API.

Enter the path as follows:

http://[hostname]/nimAPI.php

where [hostname] is the address you have assigned to the NIM server.

After successfully entering the API path, you will be asked to enter your NIM username. Once done the NIM preferences will be created.

API Keys

NIM API keys are an optional security feature that restricts API access with time limited per user keys. Requiring API keys restricts all API access to only those users with an API key.

If Require API Keys is enabled in ADMIN/Security - Options, users will be presented with a dialog box the first time they attempt to use a NIM Connector. API keys are unique to each user. Enter the NIM API key provided to you by your NIM administrator. For more information on enabling NIM API Keys please refer to the API Keys section of the documentation. For information on creating user API keys please refer to the Users Grid section of the Administration documentation.

Export Presets

_images/flame_preset_01.png

Export presets define the file types and locations that are exported during the Publish Sequence and Export Review functions.

These export presets are created from Flames export presets and are located in the [NIM_CONNECTOR_ROOT]/plugins/Flame/presets/XXXXX folder where XXXX is the Flame major version.

If a folder matching the Flame major version is not found, the folder “_default” will be used.

The subfolders in this location are used to differentiate presets for the Publish Sequence (sequence), Export to Show (edit), and Export to Task (daily) templates.

For example:

If the current version of Flame is Flame 2022.0.1, the major version is 2022 and the connector will look for presets in the following path:

[NIM_CONNECTOR_ROOT]/plugins/Flame/presets/2022

New Preset

_images/nim5_flame_preset_02.png

A new preset can be created using the standard Flame Export function.

Right click on a clip in a desktop reel or library to bring up the context menu and select “Export…”.

The Flame Export dialog will appear and in the lower panel choose the export type you wish to create. In this example the “Sequence Publish” type was selected. Dailies and Edits use the “Movie” type.

_images/flame_preset_03.png

Select the “Show Advanced Options” to select the desired settings. In the Video Options tab, use the Pattern field to set the desired location for exported images. In this example the <nim_shot_plates> keyword is used. NIM will resolve this value on export to the job’s project structure template.

_images/flame_preset_04.png

The Clip Options tab displays additional paths for associated output clips and the batch file media. Additional NIM keywords are shown here to resolve folders based on the job’s project structure template. A full list of recognized NIM keywords is available below.

_images/flame_preset_05.png

When you are done making changes, press the Save button to save the preset to disk. A dialog will appear with the option to name the preset and add a comment. Select the “Shared” option from the Visibility dropdown to share this preset across all jobs.

_images/flame_preset_06.png

Once saved, the preset will exist as a XML file with a corresponding name in the shared preset path /opt/Autodesk/shared/export/presets/sequence_publish. To use this preset in a NIM connector, copy the .xml file to the appropriate [NIM_CONNECTOR_ROOT]/plugins/Flame/presets folder.

_images/flame_preset_07.png

The NIM preset folder for the Flame connector is available at [NIM_CONNECTOR_ROOT]/plugins/Flame/presets. Within this directory, three subfolders exist to differentiate sequence, edit, and daily templates. Copy the new XML file to the appropriate location.

_images/flame_preset_08.png

Preset Keywords

The following keywords are available in Flame for export presets paths.

Keyword

Description

<nim_job_root>

The job root as defined by the NIM project structure

<nim_job_root>

The job root as defined by the NIM project structure

<nim_job_number>

The NIM job number

<nim_job_name>

The NIM job name

<nim_show_root>

The show root as defined by the NIM project structure

<nim_show_name>

The NIM show name

<nim_shot_root>

The shot root as defined by the NIM project structure

<nim_shot_plates>

The plates root as defined by the NIM project structure

<nim_shot_render>

The render root as defined by the NIM project structure

<nim_shot_comp>

The comp root as defined by the NIM project structure