Setting your frame range

Sync frame range with Shotgun

Sync the frame range in your scene with the one stored in Shotgun.
Latest Version: v0.4.0 (prod)
For our version numbers, we follow the Semantic Versioning standard.
System Name: tk-multi-setframerange

Please Note: This document describes functionality only available if you have taken control over a Toolkit configuration. Please refer to the Shotgun Integrations User Guide for more details.

This is a simple yet useful app that syncs your current file with the latest frame range in Shotgun for the associated shot. If a change to the cut has come in from editorial, quickly and safely update the scene you are working on using this app. Towards the end, it will display a UI with information about what got changed.

Documentation

This app helps managing the frame range in the currently open scene. You can access it from the Shotgun menu by clicking the Sync Frame Range with Shotgun menu option.

When you click it, the Shotgun Toolkit will look at the shotgun entity associated with the current work area (typically a Shot) and look for in and out fields which contain the in and out frame information. Typically, this is something used in conjunction with Shots and in that case the app uses the standard shot in and out fields defined in Shotgun's default config. However, it is perfectly possible to configure the app to pull the frame ranges from other fields too.

Shotgun

Once you run the App, it will update the current scene with those ins and outs and finally display a summary message:

Nuke

Multiple shotgun field synchronisation options

You can define multiple instances of this app in the Shotgun Menu by setting the menu_name property. This allows the possibility to define a multiple menu actions for synchronization of different Shotgun fields.

To do this, set a different app instance name, menu_name and in and out frame fields for each instance:

tk-multi-setframerange_cuts:
  menu_name: Sync frame range using cut fields
  sg_in_frame_field: sg_cut_in
  sg_out_frame_field: sg_cut_out
  location: "@apps.tk-multi-setframerange.location"
tk-multi-setframerange_handles:
  menu_name: Sync frame range using handle fields
  sg_in_frame_field: sg_handle_in
  sg_out_frame_field: sg_handle_out
  location: "@apps.tk-multi-setframerange.location"

These should then appear as separate options in the Shotgun menu:

Multiple instances

Note: this is new to version v0.4.0 of the app.

Operations hook

The software specific logic for getting the current scene frame range or setting the frame range is handled in the frame operations hook. If you are wanting to add support for a new engine or want to change how the behaviour is implemented, you can take over the frame operations hook by setting the hook_frame_operation app property and implementing your own get and set logic.

Note: this is new to version v0.4.0 of the app.

Installation and Updates

Adding this App to the Shotgun Pipeline Toolkit

If you want to add this app to Project XYZ, in an environment named asset, execute the following command:

> tank Project XYZ install_app asset tk-maya tk-multi-setframerange

Updating to the latest version

If you already have this item installed in a project and you want to get the latest version, you can run the update command. You can either navigate to the tank command that comes with that specific project, and run it there:

> cd /my_tank_configs/project_xyz
> ./tank updates

Alternatively, you can run your studio tank command and specify the project name to tell it which project to run the update check for:

> tank Project XYZ updates

Collaboration and Evolution

If you have access to the Shotgun Pipeline Toolkit, you also have access to the source code for all apps, engines and frameworks in Github where we store and manage them. Feel free to evolve these items; use them as a base for further independent development, make changes (and submit pull requests back to us!) or simply tinker with them to see how they have been built and how the toolkit works. You can access this code repository at https://github.com/shotgunsoftware/tk-multi-setframerange.

Special Requirements

  • You need Shotgun Pipeline Toolkit Core API version v0.18.0 or higher to use this.

Configuration

Below is a summary of all the configuration settings used. These settings need to be defined in the environment file where you want to enable this App or Engine.

menu_name

Type: str

Default Value: Sync Frame Range with Shotgun

Description: The name that will be shown in the Shotgun menu.

sg_in_frame_field

Type: str

Default Value: sg_cut_in

Description: The Shotgun field to use to retrieve the in frame. The app will look for this field on the entity associated with the current context (e.g. the current shot, current asset etc).

sg_out_frame_field

Type: str

Default Value: sg_cut_out

Description: The Shotgun field to use to retrieve the out frame. The app will look for this field on the entity associated with the current context (e.g. the current shot, current asset etc).

hook_frame_operation

Type: hook

Default Value: {self}/frame_operations_{engine_name}.py

Description: Hook which contains all methods for setting/getting frame ranges.

Release Notes

Welcome to the release notes for this App. Below you will find an overview of all the changes we did for each release. We try to be as detailed as possible and include all bugs we have fixed, features we have added and things that may have changed. If you have questions about a particular release, don't hesitate to contact our support team!

v0.4.0

2019-Oct-24

  • Get and set frame range methods broken out into hooks.
  • Added a menu_name app setting.

Details:

  • Software specific logic for getting and setting the frame range have now been split out into hooks. Each hook contains a get_frame_range and set_frame_range method. This makes it possible to implement behaviour for different engines without needing to modify the base app. A big thank you goes to Diego Garcia Huerta for submitting this, and to Alex Hughes for making numerous revisions to get it ready for release.
  • There is now a menu_name app setting, that allows you to define multiple instances of the app in an environment with different Shotgun menu names. This means you can now have multiple instances pointing at different fields in Shotgun, so that you can choose which fields to synchronize against.

v0.3.0

Adds context changing support.

v0.2.4

Improved formatting for display of frame ranges in nuke.

v0.2.3

Added support for the new 3DS Max Engine supporting MaxPlus and Max version 2015.

v0.2.2

Improved handling of multiple frame range updates.

Details: The app now attempts to update the frame range every time you run it. This is a slight change to the behaviour - previously it would first check and see if the frame range needed updating and if so attempt to update it. This was causing some issues when a shot for example had different anim and render frame ranges. This release solves this by running the update every time to ensure that all fields are updated.

v0.2.1

Minor tweaks and bug fixes.

Details: - Softimage logic now sets the global in and out range as well as the render range. - Houdini logic now sets the global frame ranges via hscript tset command.

v0.2.0

Added support for 3dsmax.

v0.1.7

Maya frame range adjustments now also updates the render globals and the animation frame range.

v0.1.6

Maya frame range adjustments now also updates the render globals and the animation frame range.

v0.1.5

Added Houdini support

Details: Added Houdini support

v0.1.4

Renames and support for the new name Sgtk.

v0.1.3

Added Softimage support.

v0.1.2

Added icon.

v0.1.1

Uses new Tank QT access. Updated manifest to be v0.12.5 compliant.

v0.1.0

Initial release

Follow