Provides functionality to submit image sequences to Shotgun for review.
An app that provides functionality to help submitting image sequences as Versions in Shotgun for review. This app does not have a UI but instead provides API methods for quicktime and review generation. You can call the app from your scripts, or from within hooks. For example, your publish configuration can call this as part of a post process hook if you want to create a quicktime and send it for review. This app will generate a quicktime with burn-ins and slates. You can configure if you want it to upload the quicktime to Shotgun or keep it on disk, or both. Lastly it will create a new version inside of Shotgun, ready to reviewed in Screening Room!
This app creates quicktimes from image sequences and submits them as Versions to Shotgun in order to facilitate review. The generated quicktimes will have slates and burnins. Things such as font, logo position, movie compression options and burnin / slate information are currently hard coded and as such you are encouraged to fork the app and adjust to your tastes.
Here are a the current default formats for slate and burnin:
This app does not have a user interface, but is instead meant to be called from inside other apps like the multi-publish app.
How do I use this App?
Should you want to leverage this app from within your own apps or hooks here is a quick rundown of the simple way to go about it.
- Get the
tk-multi-reviewsubmissionapp from the current engine. This can be done from inside a hook using the call
- If the app is available, call the
Here's an example of what this can look like inside your hook code:
review_submission_app = self.parent.engine.apps.get("tk-multi-reviewsubmission") if review_submission_app: review_submission_app.render_and_submit_version( template, fields, first_frame, last_frame, sg_publishes, sg_task, comment, thumbnail_path, progress_cb, color_space )
The arguments that you need to pass to
render_and_submit_version are as follows:
template: A template that defines where the files to publish are located
fields: Fields that will be used to fill out the template
first_frame: The first frame of the image sequence to process
last_frame: The last frame of the image sequence to process
sg_publishes: A list of Shotgun Published File objects to link the version to.
sg_task: A Shotgun Task link dictionary to link the version to.
comment: Text to add to the Version's description.
thumbnail_path: The path to a thumbnail to use for the version when the movie isn't being uploaded to Shotgun (this is set in the config)
progress_cb: A callback to report progress with. This should be of the form:
color_space: The color space that the input frames are in. In Nuke, this would be one of the enumeration values on the colorspace knob for the Write node.
Related Apps and Documents
Multi Publish is a workflow app that artists can use to publish files to Shotgun. The app provides a simple UI on top of a highly customizable core that can be easily configured to publish any combination of files or data from a work scene and it's dependencies (e.g. the Maya scene, Nuke Script, OBJ's, Alembic Caches, Cameras, Textures, etc.). The multi publish app is used in all default configurations and can be easily configured to support workflows ranging from Alembic Cache generation in Maya to render publish in Nuke, art reference management in Photoshop or plate ingestion in the Shotgun and shell environments.
This app adds a node type to Nuke which you can add anywhere in your node graph. Once added to your scene, you can double click the node, go to the properties page and hit the "Send to Review" button. The app will then render a quicktime of your scene, add burnins and slates and send it to Shotgun. It will also generate filmstrip thumbnails which makes it easy to preview the version in Shotgun.
This app contains a custom Write Node gizmo for Nuke, abstracting away the file system paths from the user, allowing them to focus on just naming the particular output. Shotgun takes care of the rest! This app is typically used in conjunction with the Publish app and if you install the publish app for nuke, you most likely want to install this one too!
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-nuke tk-multi-reviewsubmission
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-reviewsubmission.
- You need Shotgun Pipeline Toolkit Core API version v0.14.0 or higher to use this.
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.
Description: The width of the rendered movie file
Description: This is the path to an image to use on the slate such as a company logo. The supplied image will be reformated into a 400 pixel box and the lower left corner of the logo will be aligned 100 pixels to the right and 100 pixels above the lower left corner of the slate. You can use an image with an alpha channel if you want to add transparency. Currently any image format supported by Nuke is adequate. If this setting is an empty string, no logo will be applied.
Description: The value to use for a new Version's status.
Description: Hook for customizing codec settings used when generating items for review.
Optional Template Keys: ***
Description: Template defining the output location of the movie file on the the file system. For this template you can use all the fields defined in the template passed to the render_and_submit fields. In addition to these you can use the special fields width and height, which contain the resolution of the movie. If the store_on_disk setting is false, this setting will still be required but will be used as a temporary location for processing before the file is uploaded to Shotgun.
Description: Should the movie being created be kept on disk? Disabling this as well as the upload_to_shotgun option will effectively disable the whole tool.
Description: Should the movie being created be uploaded to Shotgun as a version or just kept on disk? Disabling this as well as the store_on_disk option effectively disables the whole tool.
Description: This value will be used to pad the version number in the slate and various movie burnins. This will not affect version number padding in the movie filename. See movie_path_template. Use 1 for no padding.
Description: The height of the rendered movie file
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!
Fix an issue where bad quality QuickTimes gets generated in Nuke 9
Adds metrics logging
Adds support for context changes.
fix for error when using file_type specific settings in the
Previously we were creating the node by passing in all of the settings at once which was generating errors if Nuke tried to set the knob before the file_type had been set. This change creates the node with the file_type setting, and then applies the rest of the settings from the codec_settings hook after.
Moves the Quicktime generation settings into a hook
- Allows studios to easily override the default output settings when generating movies to submit to Screening Room.
- Updated default settings for Nuke 9+ on linux. Nuke 9 removed ffmpeg as a
file_typeand replaced it with mov64. This handles that case and sets the codec to jpeg in that case to match the behavior on Mac and Windows.
fixed bug causing an error if Nuke was in proxy mode
While the Publish app does not support publishing from Nuke in proxy mode, this app does support submitting proxy renders in case users have custom apps or workflows that need this
Add handling for Nuke 9 knob name change from codec to meta_codec
Added new method to app that allows the colorspace of the input frames to be specified
- Previously, the colorspace was not being passed through for the rendered frames so if it was set to a non-default value, the rendered movie would be wrong.
Fixed issue with Quicktimes rendering black in Nuke 7 on Windows
The artist field on the Version is now populated by the app
Fixed FFMPEG call for Nuke 7 in Linux
Details: The FFMPEG call syntax worked in Nuke 6.3 but not 7 in Linux - thanks for the tip, Benoit Leveau!
Fixed issue when using legacy Tank Published File entities
Added threaded review submission.
Polish and Bug fixes.
Details: - Now populates more fields on version. - Versions are created by the current user. - Better naming and handling of slate parameters.
Initial Release to the App Store.