Skip to content

Shotgun agnostic and standalone app to publish files, but mantaining the structure as the actual publisher...

Notifications You must be signed in to change notification settings

hasielhassan/tk-agnostic-publish

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tk-agnostic-publish

Shotgun agnostic and standalone app to publish files, but mantaining the structure as the actual tk-multi-publish...

alt text

The main modification to the app relates to the primary output, that now its a list of abailable "editable" files for a certain context, this allows to match a file extention to a template and from this validate the secondary outputs.

The default configuration could work like this:

tk-agnostic-publish:
  allow_taskless_publishes: true
  display_name: Agnostic Publish
  expand_single_items: false
  hook_scan_scene: default
  hook_copy_file: default
  hook_post_publish: default
  hook_primary_pre_publish: default
  hook_primary_publish: default
  hook_secondary_pre_publish: default
  hook_secondary_publish: default
  hook_thumbnail: default
  location:
    path: https://github.com/hasielhassan/tk-agnostic-publish.git
    version: v0.0.1
    type: git
  primary_outputs: 
    - {name: primary,
       extension: c4d,
       icon: icons/publish_cinema_main.png,
       description: "",
       scene_item_type: work_file,
       display_name: Cinema4D Publish,
       tank_type: Cinema4D Scene,
       publish_template: cinema_shot_publish}
    - {name: primary,
       extension: aep,
       icon: icons/publish_after_main.png,
       description: "",
       scene_item_type: work_file,
       display_name: AfterEffects Publish,
       tank_type: AfterEffects Project,
       publish_template: after_shot_publish}
    - {name: primary,
       extension: flw,
       icon: icons/publish_realflow_main.png,
       description: "",
       scene_item_type: work_file,
       display_name: RealFlow Publish,
       tank_type: RealFlow Scene ,
       publish_template: realflow_shot_publish}
  secondary_outputs:
  - {description: After Effects XML Project file, display_group: XML Project,
    display_name: After XML Project, icon: icons/aftereffects_xmlproject.png,
    name: aftereffects_xmlproject, publish_template: after_shot_xml_project_pub,
    required: false, scene_item_type: aftereffects_xmlproject,
    selected: true, tank_type: AfterEffects XML Project}
  - {description: After Effects Project Elements, display_group: Project Elements,
    display_name: After Elements, icon: icons/assets_group_icon.png,
    name: aftereffects_element, publish_template: after_project_element_pub,
    required: false, scene_item_type: aftereffects_element,
    selected: true, tank_type: AfterEffects Project Element}
  - {description: Rendered Sequences, display_group: Renders,
    display_name: Rendered Sequences, icon: icons/publish_nuke_writenode.png,
    name: cinema_render_sequences, publish_template: max_shot_render_publish_exr,
    required: false, scene_item_type: cinema_render_sequences,
    selected: true, tank_type: Cinema4D Render Sequence}
  - {description: Video preview for Shotgun, display_group: Review,
    display_name: Preview Version, icon: icons/publish_global_review.png,
    name: cinema_render_preview_video, publish_template: max_shot_render_publish_mov,
    required: false, scene_item_type: cinema_render_preview_video,
    selected: false, tank_type: Cinema4D Render Preview}
  - {description: Rendered Sequences, display_group: Renders,
    display_name: Rendered Sequences, icon: icons/publish_nuke_writenode.png,
    name: after_render_sequences, publish_template: after_shot_render_pub_exr,
    required: false, scene_item_type: after_render_sequences,
    selected: true, tank_type: AfterEffects Render Sequence}
  - {description: Video preview for Shotgun, display_group: Review,
    display_name: Preview Version, icon: icons/publish_global_review.png,
    name: after_render_preview_video, publish_template: after_shot_render_pub_preview,
    required: false, scene_item_type: after_render_preview_video,
    selected: false, tank_type: AfterEffects Render Preview}
  template_work: max_shot_work

That will need the following templates:

max_shot_render_publish_exr
  definition: '@publish_shot_root/scn{shot_scene_name}/sht{Shot}/Renders/{name}/v{version}/{set_name}/scn{shot_scene_name}_sht{Shot}_{step_code}_{set_name}_v{version}.{buffer}.{SEQ}.exr'

max_shot_render_publish_mov
  definition: '@publish_shot_root/scn{shot_scene_name}/sht{Shot}/Renders/{name}/v{version}/{set_name}/scn{shot_scene_name}_sht{Shot}_{step_code}_{set_name}_v{version}_{buffer}.mov'


after_shot_publish
  definition: '@publish_shot_root/scn{shot_scene_name}/sht{Shot}/Editables/scn{shot_scene_name}_sht{Shot}_{step_code}_{name}_v{version}.aep'

cinema_shot_publish
  definition: '@publish_shot_root/scn{shot_scene_name}/sht{Shot}/Editables/scn{shot_scene_name}_sht{Shot}_{step_code}_{name}_v{version}.c4d'


after_project_element_pub
  definition: '@publish_shot_root/scn{shot_scene_name}/sht{Shot}/Elements/scn{shot_scene_name}_sht{Shot}_{step_code}_{name}_{element_file_name}_v{version}.{extension}'

after_shot_xml_project_pub
  definition: '@publish_shot_root/scn{shot_scene_name}/sht{Shot}/XMLProjects/scn{shot_scene_name}_sht{Shot}_{step_code}_{name}_v{version}.aepx'


after_shot_render_pub_exr
  definition: '@publish_shot_root/scn{shot_scene_name}/sht{Shot}/Renders/{name}/v{version}/{comp_name}/scn{shot_scene_name}_sht{Shot}_{step_code}_{name}_{comp_name}_v{version}.{SEQ}.exr'

after_shot_render_pub_preview
  definition: '@publish_shot_root/scn{shot_scene_name}/sht{Shot}/Previews/{name}/scn{shot_scene_name}_sht{Shot}_{step_code}_{name}_{comp_name}_v{version}.mov'

realflow_shot_publish
  definition: '@publish_shot_root/scn{shot_scene_name}/sht{Shot}/Editables/scn{shot_scene_name}_sht{Shot}_{step_code}_{name}_v{version}.flw'

It also require the followin dependencies:

  • pyseq - For file sequence detection
  • ffmpeg - For transcoding
  • imagemgick - To deal with linear vs sRGB images

About

Shotgun agnostic and standalone app to publish files, but mantaining the structure as the actual publisher...

Resources

Stars

Watchers

Forks

Packages

No packages published