Merge branch 'develop' into chore/remove-unreal-addon
|
|
@ -36,7 +36,7 @@ class Commands:
|
|||
log.warning(
|
||||
"Failed to add cli command for module \"{}\"".format(
|
||||
addon.name
|
||||
)
|
||||
), exc_info=True
|
||||
)
|
||||
return click_func
|
||||
|
||||
|
|
|
|||
|
|
@ -281,7 +281,7 @@ class HiddenDef(AbstractAttrDef):
|
|||
def __init__(self, key, default=None, **kwargs):
|
||||
kwargs["default"] = default
|
||||
kwargs["hidden"] = True
|
||||
super(UnknownDef, self).__init__(key, **kwargs)
|
||||
super(HiddenDef, self).__init__(key, **kwargs)
|
||||
|
||||
def convert_value(self, value):
|
||||
return value
|
||||
|
|
|
|||
|
|
@ -313,7 +313,14 @@ class CollectAnatomyInstanceData(pyblish.api.ContextPlugin):
|
|||
|
||||
# Define version
|
||||
version_number = None
|
||||
if self.follow_workfile_version:
|
||||
|
||||
# Allow an instance to force enable or disable the version
|
||||
# following of the current context
|
||||
use_context_version = self.follow_workfile_version
|
||||
if "followWorkfileVersion" in instance.data:
|
||||
use_context_version = instance.data["followWorkfileVersion"]
|
||||
|
||||
if use_context_version:
|
||||
version_number = context.data("version")
|
||||
|
||||
# Even if 'follow_workfile_version' is enabled, it may not be set
|
||||
|
|
@ -391,7 +398,11 @@ class CollectAnatomyInstanceData(pyblish.api.ContextPlugin):
|
|||
anatomy_data.update(folder_data)
|
||||
return
|
||||
|
||||
if instance.data.get("newAssetPublishing"):
|
||||
if (
|
||||
instance.data.get("newHierarchyIntegration")
|
||||
# Backwards compatible (Deprecated since 24/06/06)
|
||||
or instance.data.get("newAssetPublishing")
|
||||
):
|
||||
hierarchy = instance.data["hierarchy"]
|
||||
anatomy_data["hierarchy"] = hierarchy
|
||||
|
||||
|
|
@ -409,7 +420,7 @@ class CollectAnatomyInstanceData(pyblish.api.ContextPlugin):
|
|||
"path": instance.data["folderPath"],
|
||||
# TODO get folder type from hierarchy
|
||||
# Using 'Shot' is current default behavior of editorial
|
||||
# (or 'newAssetPublishing') publishing.
|
||||
# (or 'newHierarchyIntegration') publishing.
|
||||
"type": "Shot",
|
||||
},
|
||||
})
|
||||
|
|
@ -432,15 +443,22 @@ class CollectAnatomyInstanceData(pyblish.api.ContextPlugin):
|
|||
if task_data:
|
||||
# Fill task data
|
||||
# - if we're in editorial, make sure the task type is filled
|
||||
if (
|
||||
not instance.data.get("newAssetPublishing")
|
||||
or task_data["type"]
|
||||
):
|
||||
new_hierarchy = (
|
||||
instance.data.get("newHierarchyIntegration")
|
||||
# Backwards compatible (Deprecated since 24/06/06)
|
||||
or instance.data.get("newAssetPublishing")
|
||||
)
|
||||
if not new_hierarchy or task_data["type"]:
|
||||
anatomy_data["task"] = task_data
|
||||
return
|
||||
|
||||
# New hierarchy is not created, so we can only skip rest of the logic
|
||||
if not instance.data.get("newAssetPublishing"):
|
||||
new_hierarchy = (
|
||||
instance.data.get("newHierarchyIntegration")
|
||||
# Backwards compatible (Deprecated since 24/06/06)
|
||||
or instance.data.get("newAssetPublishing")
|
||||
)
|
||||
if not new_hierarchy:
|
||||
return
|
||||
|
||||
# Try to find task data based on hierarchy context and folder path
|
||||
|
|
|
|||
|
|
@ -27,7 +27,9 @@ class CollectSceneVersion(pyblish.api.ContextPlugin):
|
|||
"nuke",
|
||||
"photoshop",
|
||||
"resolve",
|
||||
"tvpaint"
|
||||
"tvpaint",
|
||||
"motionbuilder",
|
||||
"substancepainter"
|
||||
]
|
||||
|
||||
# in some cases of headless publishing (for example webpublisher using PS)
|
||||
|
|
|
|||
|
|
@ -202,43 +202,16 @@ class ExtractOIIOTranscode(publish.Extractor):
|
|||
added_representations = True
|
||||
|
||||
if added_representations:
|
||||
self._mark_original_repre_for_deletion(repre, profile,
|
||||
added_review)
|
||||
self._mark_original_repre_for_deletion(
|
||||
repre, profile, added_review
|
||||
)
|
||||
|
||||
for repre in tuple(instance.data["representations"]):
|
||||
tags = repre.get("tags") or []
|
||||
if "delete" in tags and "thumbnail" not in tags:
|
||||
instance.data["representations"].remove(repre)
|
||||
|
||||
instance.data["representations"].extend(new_representations)
|
||||
|
||||
def _rename_in_representation(self, new_repre, files_to_convert,
|
||||
output_name, output_extension):
|
||||
"""Replace old extension with new one everywhere in representation.
|
||||
|
||||
Args:
|
||||
new_repre (dict)
|
||||
files_to_convert (list): of filenames from repre["files"],
|
||||
standardized to always list
|
||||
output_name (str): key of output definition from Settings,
|
||||
if "<passthrough>" token used, keep original repre name
|
||||
output_extension (str): extension from output definition
|
||||
"""
|
||||
if output_name != "passthrough":
|
||||
new_repre["name"] = output_name
|
||||
if not output_extension:
|
||||
return
|
||||
|
||||
new_repre["ext"] = output_extension
|
||||
|
||||
renamed_files = []
|
||||
for file_name in files_to_convert:
|
||||
file_name, _ = os.path.splitext(file_name)
|
||||
file_name = '{}.{}'.format(file_name,
|
||||
output_extension)
|
||||
renamed_files.append(file_name)
|
||||
new_repre["files"] = renamed_files
|
||||
|
||||
def _rename_in_representation(self, new_repre, files_to_convert,
|
||||
output_name, output_extension):
|
||||
"""Replace old extension with new one everywhere in representation.
|
||||
|
|
@ -364,7 +337,7 @@ class ExtractOIIOTranscode(publish.Extractor):
|
|||
|
||||
if not repre.get("colorspaceData"):
|
||||
self.log.debug("Representation '{}' has no colorspace data. "
|
||||
"Skipped.")
|
||||
"Skipped.".format(repre["name"]))
|
||||
return False
|
||||
|
||||
return True
|
||||
|
|
|
|||
|
|
@ -24,7 +24,11 @@ class ValidateFolderEntities(pyblish.api.InstancePlugin):
|
|||
if instance.data.get("folderEntity"):
|
||||
self.log.debug("Instance has set fodler entity in its data.")
|
||||
|
||||
elif instance.data.get("newAssetPublishing"):
|
||||
elif (
|
||||
instance.data.get("newHierarchyIntegration")
|
||||
# Backwards compatible (Deprecated since 24/06/06)
|
||||
or instance.data.get("newAssetPublishing")
|
||||
):
|
||||
# skip if it is editorial
|
||||
self.log.debug("Editorial instance has no need to check...")
|
||||
|
||||
|
|
|
|||
BIN
client/ayon_core/resources/app_icons/motionbuilder.png
Normal file
|
After Width: | Height: | Size: 35 KiB |
|
|
@ -1,131 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
|
||||
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg"
|
||||
width="2.93333in" height="3.06667in"
|
||||
viewBox="0 0 512 512"
|
||||
>
|
||||
<g>
|
||||
<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="-0.0000027" x2="512" y1="256" y2="256">
|
||||
<stop offset="0" style="stop-color:#541f1b"/>
|
||||
<stop offset="1" style="stop-color:#a91b0d"/>
|
||||
</linearGradient>
|
||||
<circle cx="256" cy="256" fill="url(#SVGID_1_)" r="256"/>
|
||||
<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_2_" x1="42.6666641" x2="469.3333435" y1="256.0005188" y2="256.0005188">
|
||||
<stop offset="0" style="stop-color:#a91b0d"/>
|
||||
<stop offset="1" style="stop-color:#541f1b"/>
|
||||
</linearGradient>
|
||||
<path d="M256,469.3338623c-117.6314697,0-213.3333435-95.7023926-213.3333435-213.3333435 c0-117.6314545,95.7018661-213.333313,213.3333435-213.333313c117.6357422,0,213.3333435,95.7018661,213.3333435,213.333313 C469.3333435,373.6314697,373.6357422,469.3338623,256,469.3338623z" fill="url(#SVGID_2_)"/>
|
||||
</g>
|
||||
<g transform="
|
||||
translate(80, 80)
|
||||
scale(0.4)
|
||||
">
|
||||
<path id="glasses"
|
||||
fill="#000"
|
||||
d="M 314.00,503.21
|
||||
C 307.04,504.43 299.79,504.67 294.04,509.39
|
||||
281.95,519.33 287.74,545.64 293.31,558.00
|
||||
305.34,584.70 329.18,602.65 359.00,603.00
|
||||
359.00,603.00 367.00,603.00 367.00,603.00
|
||||
390.85,602.89 413.70,588.04 421.25,565.00
|
||||
424.01,556.59 424.10,550.65 424.00,542.00
|
||||
423.57,505.69 375.59,507.27 350.00,504.83
|
||||
350.00,504.83 335.00,503.91 335.00,503.91
|
||||
335.00,503.91 325.00,503.21 325.00,503.21
|
||||
325.00,503.21 314.00,503.21 314.00,503.21 Z
|
||||
M 549.00,503.42
|
||||
C 549.00,503.42 536.00,504.09 536.00,504.09
|
||||
536.00,504.09 492.00,508.80 492.00,508.80
|
||||
482.54,510.63 471.18,514.25 464.32,521.30
|
||||
457.58,528.23 455.90,537.72 456.00,547.00
|
||||
456.35,577.84 481.12,602.64 512.00,603.00
|
||||
540.73,603.33 565.64,594.85 581.39,569.00
|
||||
587.72,558.59 592.85,544.28 593.00,532.00
|
||||
593.07,525.52 593.79,518.45 589.58,513.02
|
||||
581.71,502.84 560.89,501.98 549.00,503.42 Z" />
|
||||
<path id="head"
|
||||
fill="#000"
|
||||
d="M 196.00,310.00
|
||||
C 157.00,317.34 100.69,333.54 68.00,355.67
|
||||
49.93,367.90 32.97,386.48 45.31,409.00
|
||||
56.44,429.32 84.25,442.43 105.00,450.99
|
||||
105.00,450.99 124.00,458.31 124.00,458.31
|
||||
126.46,459.18 131.76,460.54 133.18,462.51
|
||||
135.43,465.18 132.87,477.62 133.18,482.00
|
||||
133.72,499.63 138.37,519.19 146.27,535.00
|
||||
146.27,535.00 160.00,558.00 160.00,558.00
|
||||
151.04,562.00 138.14,570.76 130.00,576.58
|
||||
106.10,593.66 85.83,612.72 66.73,635.00
|
||||
66.73,635.00 50.58,655.00 50.58,655.00
|
||||
46.85,659.79 43.49,662.96 42.00,669.00
|
||||
42.00,669.00 80.00,697.58 80.00,697.58
|
||||
80.00,697.58 134.00,738.63 134.00,738.63
|
||||
134.00,738.63 159.00,757.63 159.00,757.63
|
||||
159.00,757.63 168.69,766.17 168.69,766.17
|
||||
168.69,766.17 166.41,788.00 166.41,788.00
|
||||
166.41,788.00 159.00,839.00 159.00,839.00
|
||||
159.00,839.00 725.00,839.00 725.00,839.00
|
||||
725.00,839.00 715.00,787.00 715.00,787.00
|
||||
714.23,783.16 710.80,769.90 711.69,767.01
|
||||
712.77,763.46 718.06,760.08 721.00,757.87
|
||||
721.00,757.87 746.00,738.87 746.00,738.87
|
||||
746.00,738.87 805.00,693.88 805.00,693.88
|
||||
805.00,693.88 839.00,668.00 839.00,668.00
|
||||
830.81,653.76 810.68,631.16 799.04,619.00
|
||||
779.93,599.05 746.32,568.97 721.00,558.00
|
||||
736.80,531.67 747.05,511.60 746.88,480.00
|
||||
746.99,476.23 745.11,464.71 746.88,462.51
|
||||
748.19,460.62 752.74,459.42 755.00,458.67
|
||||
755.00,458.67 773.00,451.99 773.00,451.99
|
||||
789.48,445.21 809.73,435.70 823.00,423.83
|
||||
833.14,414.76 839.34,405.89 838.99,392.00
|
||||
838.62,377.75 825.69,365.33 815.00,357.38
|
||||
791.37,339.79 750.60,326.38 722.00,318.42
|
||||
722.00,318.42 698.00,312.65 698.00,312.65
|
||||
694.98,311.97 689.62,311.22 687.31,309.28
|
||||
684.49,306.90 682.00,295.04 680.86,291.00
|
||||
680.86,291.00 667.37,242.00 667.37,242.00
|
||||
655.66,196.99 634.72,129.32 611.40,90.00
|
||||
599.32,69.64 582.92,49.09 559.00,42.75
|
||||
551.96,40.89 546.17,40.92 539.00,41.00
|
||||
521.02,41.21 499.67,47.67 482.00,51.58
|
||||
468.77,54.50 455.47,55.86 442.00,56.82
|
||||
442.00,56.82 432.00,56.04 432.00,56.04
|
||||
400.44,54.66 371.26,41.33 343.00,41.00
|
||||
335.69,40.92 330.19,40.64 323.00,42.48
|
||||
298.44,48.76 281.88,68.37 268.95,89.00
|
||||
244.31,128.34 223.03,195.41 211.63,241.00
|
||||
211.63,241.00 199.63,288.00 199.63,288.00
|
||||
198.01,294.48 194.47,303.56 196.00,310.00 Z
|
||||
M 687.00,478.00
|
||||
C 686.85,494.73 678.57,518.97 665.00,529.32
|
||||
658.84,534.01 657.01,532.67 651.00,535.35
|
||||
644.22,538.36 638.88,543.45 635.40,550.00
|
||||
635.40,550.00 622.40,582.00 622.40,582.00
|
||||
622.40,582.00 611.14,608.00 611.14,608.00
|
||||
592.73,649.33 562.84,703.15 531.00,735.00
|
||||
531.00,735.00 518.00,747.71 518.00,747.71
|
||||
499.32,763.96 471.29,778.70 446.00,779.00
|
||||
399.64,779.54 368.31,757.20 338.87,723.00
|
||||
298.68,676.31 271.17,614.00 248.94,557.00
|
||||
245.41,547.94 240.81,540.99 232.00,536.33
|
||||
224.56,532.38 222.45,534.62 215.00,528.53
|
||||
201.42,517.45 194.00,495.06 194.00,478.00
|
||||
194.00,478.00 226.00,483.92 226.00,483.92
|
||||
226.00,483.92 305.00,494.83 305.00,494.83
|
||||
305.00,494.83 350.00,498.09 350.00,498.09
|
||||
350.00,498.09 391.00,500.00 391.00,500.00
|
||||
391.00,500.00 408.00,501.00 408.00,501.00
|
||||
408.00,501.00 473.00,501.00 473.00,501.00
|
||||
473.00,501.00 485.00,500.04 485.00,500.04
|
||||
485.00,500.04 501.00,500.04 501.00,500.04
|
||||
501.00,500.04 520.00,499.00 520.00,499.00
|
||||
520.00,499.00 531.00,498.04 531.00,498.04
|
||||
559.97,496.78 589.26,493.87 618.00,489.73
|
||||
618.00,489.73 662.00,482.58 662.00,482.58
|
||||
662.00,482.58 687.00,478.00 687.00,478.00 Z"
|
||||
/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 6.8 KiB |
|
|
@ -1 +0,0 @@
|
|||
<?xml version="1.0" ?><svg enable-background="new 0 0 512 512" id="Layer_1" version="1.1" viewBox="0 0 512 512" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g><g><linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="-0.0000027" x2="512" y1="256" y2="256"><stop offset="0" style="stop-color:#00AEEE"/><stop offset="1" style="stop-color:#0095DA"/></linearGradient><circle cx="256" cy="256" fill="url(#SVGID_1_)" r="256"/><linearGradient gradientUnits="userSpaceOnUse" id="SVGID_2_" x1="42.6666641" x2="469.3333435" y1="256.0005188" y2="256.0005188"><stop offset="0" style="stop-color:#0095DA"/><stop offset="1" style="stop-color:#00AEEE"/></linearGradient><path d="M256,469.3338623c-117.6314697,0-213.3333435-95.7023926-213.3333435-213.3333435 c0-117.6314545,95.7018661-213.333313,213.3333435-213.333313c117.6357422,0,213.3333435,95.7018661,213.3333435,213.333313 C469.3333435,373.6314697,373.6357422,469.3338623,256,469.3338623z" fill="url(#SVGID_2_)"/></g><g><path d="M315.8906555,167.4933319h-28.3743896C287.5162659,154.4944,277.020813,144,264.0218811,144 c-13.0010834,0-23.4944153,10.4944-23.4944153,23.4933319h-28.3760071v40.6847992h103.7391968V167.4933319z" opacity="0.3"/><path d="M325.8906555,187.4895935v30.6885376H202.1504059v-30.6885376H164.354126V384h199.2911987V187.4895935 H325.8906555z M309.4405212,336.4693298l-7.0703735,7.0698853l-38.3712158-38.3712158l-38.3717346,38.3712158 l-7.0704041-7.0698853l38.3717346-38.3717346l-38.3717346-38.3717346l7.0704041-7.0698547l38.3717346,38.3711853 l38.3712158-38.3711853l7.0703735,7.0698547l-38.3717346,38.3717346L309.4405212,336.4693298z" opacity="0.3"/></g><g><path d="M307.8906555,159.4933319h-28.3743896C279.5162659,146.4944,269.020813,136,256.0218811,136 c-13.0010834,0-23.4944153,10.4944-23.4944153,23.4933319h-28.3760071v40.6847992h103.7391968V159.4933319z" fill="#FFFFFF"/><path d="M317.8906555,179.4895935v30.6885376H194.1504059v-30.6885376H156.354126V376h199.2911987V179.4895935 H317.8906555z M301.4405212,328.4693298l-7.0703735,7.0698853l-38.3712158-38.3712158l-38.3717346,38.3712158 l-7.0704041-7.0698853l38.3717346-38.3717346l-38.3717346-38.3717346l7.0704041-7.0698547l38.3717346,38.3711853 l38.3712158-38.3711853l7.0703735,7.0698547l-38.3717346,38.3717346L301.4405212,328.4693298z" fill="#FFFFFF"/></g></g></svg>
|
||||
|
Before Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 115 KiB |
|
Before Width: | Height: | Size: 86 KiB |
|
Before Width: | Height: | Size: 106 KiB |
|
Before Width: | Height: | Size: 103 KiB |
|
Before Width: | Height: | Size: 112 KiB |
|
Before Width: | Height: | Size: 104 KiB |
|
Before Width: | Height: | Size: 113 KiB |
|
Before Width: | Height: | Size: 112 KiB |
|
Before Width: | Height: | Size: 121 KiB |
|
Before Width: | Height: | Size: 9.9 KiB |
|
Before Width: | Height: | Size: 116 KiB |
|
Before Width: | Height: | Size: 100 KiB |
|
Before Width: | Height: | Size: 70 KiB |
|
Before Width: | Height: | Size: 101 KiB |
|
|
@ -1,32 +0,0 @@
|
|||
<html>
|
||||
<style type="text/css">
|
||||
body {
|
||||
background-color: #333;
|
||||
text-align: center;
|
||||
color: #ccc;
|
||||
margin-top: 200px;
|
||||
}
|
||||
h1 {
|
||||
font-family: "DejaVu Sans";
|
||||
font-size: 36px;
|
||||
margin: 20px 0;
|
||||
}
|
||||
h3 {
|
||||
font-weight: normal;
|
||||
font-family: "DejaVu Sans";
|
||||
margin: 30px 10px;
|
||||
}
|
||||
em {
|
||||
color: #fff;
|
||||
}
|
||||
</style>
|
||||
<body>
|
||||
<h1>Sign in to Ftrack was successful</h1>
|
||||
<h3>
|
||||
You signed in with username <em>{}</em>.
|
||||
</h3>
|
||||
<h3>
|
||||
You can close this window now.
|
||||
</h3>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -70,7 +70,7 @@ class HierarchyPage(QtWidgets.QWidget):
|
|||
main_layout.addWidget(content_body, 1)
|
||||
|
||||
btn_back.clicked.connect(self._on_back_clicked)
|
||||
refresh_btn.clicked.connect(self._on_refreh_clicked)
|
||||
refresh_btn.clicked.connect(self._on_refresh_clicked)
|
||||
folders_filter_text.textChanged.connect(self._on_filter_text_changed)
|
||||
|
||||
self._is_visible = False
|
||||
|
|
@ -99,7 +99,7 @@ class HierarchyPage(QtWidgets.QWidget):
|
|||
def _on_back_clicked(self):
|
||||
self._controller.set_selected_project(None)
|
||||
|
||||
def _on_refreh_clicked(self):
|
||||
def _on_refresh_clicked(self):
|
||||
self._controller.refresh()
|
||||
|
||||
def _on_filter_text_changed(self, text):
|
||||
|
|
|
|||
|
|
@ -863,7 +863,8 @@ DEFAULT_PUBLISH_VALUES = {
|
|||
"nuke",
|
||||
"photoshop",
|
||||
"resolve",
|
||||
"tvpaint"
|
||||
"tvpaint",
|
||||
"substancepainter"
|
||||
],
|
||||
"skip_hosts_headless_publish": []
|
||||
},
|
||||
|
|
@ -890,6 +891,7 @@ DEFAULT_PUBLISH_VALUES = {
|
|||
"maya",
|
||||
"nuke",
|
||||
"photoshop",
|
||||
"substancepainter"
|
||||
],
|
||||
"enabled": True,
|
||||
"optional": False,
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
"""Package declaring AYON addon 'aftereffects' version."""
|
||||
__version__ = "0.2.0"
|
||||
__version__ = "0.2.1"
|
||||
|
|
|
|||
|
|
@ -0,0 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
"""Package declaring AYON addon 'applications' version."""
|
||||
__version__ = "0.2.4"
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
name = "applications"
|
||||
title = "Applications"
|
||||
version = "0.2.3"
|
||||
version = "0.2.4"
|
||||
|
||||
client_dir = "ayon_applications"
|
||||
|
||||
|
|
|
|||
|
|
@ -1293,6 +1293,41 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
"motionbuilder": {
|
||||
"enabled": true,
|
||||
"label": "Motion Builder",
|
||||
"icon": "{}/app_icons/motionbuilder.png",
|
||||
"host_name": "motionbuilder",
|
||||
"environment": "{}",
|
||||
"variants": [
|
||||
{
|
||||
"name": "2025",
|
||||
"label": "2025",
|
||||
"use_python_2": false,
|
||||
"executables": {
|
||||
"windows": [
|
||||
"C:\\Program Files\\Autodesk\\MotionBuilder 2025\\bin\\x64\\motionbuilder.exe"
|
||||
],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"environment": "{}"
|
||||
},
|
||||
{
|
||||
"name": "2024",
|
||||
"label": "2024",
|
||||
"use_python_2": false,
|
||||
"executables": {
|
||||
"windows": [
|
||||
"C:\\Program Files\\Autodesk\\MotionBuilder 2024\\bin\\x64\\motionbuilder.exe"
|
||||
],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"environment": "{}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"additional_apps": []
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -192,6 +192,8 @@ class ApplicationsSettings(BaseSettingsModel):
|
|||
default_factory=AppGroupWithPython, title="Zbrush")
|
||||
equalizer: AppGroup = SettingsField(
|
||||
default_factory=AppGroupWithPython, title="3DEqualizer")
|
||||
motionbuilder: AppGroup = SettingsField(
|
||||
default_factory=AppGroupWithPython, title="Motion Builder")
|
||||
additional_apps: list[AdditionalAppGroup] = SettingsField(
|
||||
default_factory=list, title="Additional Applications")
|
||||
|
||||
|
|
|
|||
10
server_addon/deadline/client/ayon_deadline/lib.py
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
# describes list of product typed used for plugin filtering for farm publishing
|
||||
FARM_FAMILIES = [
|
||||
"render", "render.farm", "render.frames_farm",
|
||||
"prerender", "prerender.farm", "prerender.frames_farm",
|
||||
"renderlayer", "imagesequence", "image",
|
||||
"vrayscene", "maxrender",
|
||||
"arnold_rop", "mantra_rop",
|
||||
"karma_rop", "vray_rop", "redshift_rop",
|
||||
"renderFarm", "usrender", "publish.hou"
|
||||
]
|
||||
|
|
@ -8,6 +8,8 @@ attribute or using default server if that attribute doesn't exists.
|
|||
import pyblish.api
|
||||
from ayon_core.pipeline.publish import KnownPublishError
|
||||
|
||||
from ayon_deadline.lib import FARM_FAMILIES
|
||||
|
||||
|
||||
class CollectDeadlineServerFromInstance(pyblish.api.InstancePlugin):
|
||||
"""Collect Deadline Webservice URL from instance."""
|
||||
|
|
@ -16,20 +18,8 @@ class CollectDeadlineServerFromInstance(pyblish.api.InstancePlugin):
|
|||
order = pyblish.api.CollectorOrder + 0.225
|
||||
label = "Deadline Webservice from the Instance"
|
||||
targets = ["local"]
|
||||
families = ["render",
|
||||
"rendering",
|
||||
"render.farm",
|
||||
"renderFarm",
|
||||
"renderlayer",
|
||||
"maxrender",
|
||||
"usdrender",
|
||||
"redshift_rop",
|
||||
"arnold_rop",
|
||||
"mantra_rop",
|
||||
"karma_rop",
|
||||
"vray_rop",
|
||||
"publish.hou",
|
||||
"image"] # for Fusion
|
||||
|
||||
families = FARM_FAMILIES
|
||||
|
||||
def process(self, instance):
|
||||
if not instance.data.get("farm"):
|
||||
|
|
|
|||
|
|
@ -3,6 +3,8 @@ import pyblish.api
|
|||
from ayon_core.lib import TextDef
|
||||
from ayon_core.pipeline.publish import AYONPyblishPluginMixin
|
||||
|
||||
from ayon_deadline.lib import FARM_FAMILIES
|
||||
|
||||
|
||||
class CollectDeadlinePools(pyblish.api.InstancePlugin,
|
||||
AYONPyblishPluginMixin):
|
||||
|
|
@ -36,22 +38,7 @@ class CollectDeadlinePools(pyblish.api.InstancePlugin,
|
|||
"nuke",
|
||||
]
|
||||
|
||||
families = [
|
||||
"render",
|
||||
"prerender",
|
||||
"rendering",
|
||||
"render.farm",
|
||||
"renderFarm",
|
||||
"renderlayer",
|
||||
"maxrender",
|
||||
"usdrender",
|
||||
"redshift_rop",
|
||||
"arnold_rop",
|
||||
"mantra_rop",
|
||||
"karma_rop",
|
||||
"vray_rop",
|
||||
"publish.hou",
|
||||
]
|
||||
families = FARM_FAMILIES
|
||||
|
||||
primary_pool = None
|
||||
secondary_pool = None
|
||||
|
|
|
|||
|
|
@ -14,6 +14,8 @@ import pyblish.api
|
|||
|
||||
from ayon_api import get_server_api_connection
|
||||
|
||||
from ayon_deadline.lib import FARM_FAMILIES
|
||||
|
||||
|
||||
class CollectDeadlineUserCredentials(pyblish.api.InstancePlugin):
|
||||
"""Collects user name and password for artist if DL requires authentication
|
||||
|
|
@ -31,19 +33,7 @@ class CollectDeadlineUserCredentials(pyblish.api.InstancePlugin):
|
|||
"max",
|
||||
"houdini"]
|
||||
|
||||
families = ["render",
|
||||
"rendering",
|
||||
"render.farm",
|
||||
"renderFarm",
|
||||
"renderlayer",
|
||||
"maxrender",
|
||||
"usdrender",
|
||||
"redshift_rop",
|
||||
"arnold_rop",
|
||||
"mantra_rop",
|
||||
"karma_rop",
|
||||
"vray_rop",
|
||||
"publish.hou"]
|
||||
families = FARM_FAMILIES
|
||||
|
||||
def process(self, instance):
|
||||
if not instance.data.get("farm"):
|
||||
|
|
|
|||
|
|
@ -152,7 +152,9 @@ class CollectTimelineInstances(pyblish.api.ContextPlugin):
|
|||
task["name"]: {"type": task["type"]}
|
||||
for task in self.add_tasks},
|
||||
"representations": [],
|
||||
"newAssetPublishing": True
|
||||
"newHierarchyIntegration": True,
|
||||
# Backwards compatible (Deprecated since 24/06/06)
|
||||
"newAssetPublishing": True,
|
||||
})
|
||||
self.log.debug("__ inst_data: {}".format(pformat(inst_data)))
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
"""Package declaring AYON addon 'flame' version."""
|
||||
__version__ = "0.2.0"
|
||||
__version__ = "0.2.1"
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
name = "flame"
|
||||
title = "Flame"
|
||||
version = "0.2.0"
|
||||
version = "0.2.1"
|
||||
|
||||
client_dir = "ayon_flame"
|
||||
|
||||
|
|
|
|||
|
|
@ -140,7 +140,9 @@ class PrecollectInstances(pyblish.api.ContextPlugin):
|
|||
|
||||
# add all additional tags
|
||||
"tags": phiero.get_track_item_tags(track_item),
|
||||
"newAssetPublishing": True
|
||||
"newHierarchyIntegration": True,
|
||||
# Backwards compatible (Deprecated since 24/06/06)
|
||||
"newAssetPublishing": True,
|
||||
})
|
||||
|
||||
# otio clip data
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
"""Package declaring AYON addon 'hiero' version."""
|
||||
__version__ = "0.2.1"
|
||||
__version__ = "0.2.2"
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
name = "hiero"
|
||||
title = "Hiero"
|
||||
version = "0.2.1"
|
||||
version = "0.2.2"
|
||||
client_dir = "ayon_hiero"
|
||||
|
||||
ayon_required_addons = {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
"""Package declaring AYON addon 'maya' version."""
|
||||
__version__ = "0.2.2"
|
||||
|
|
@ -101,6 +101,8 @@ class PrecollectInstances(pyblish.api.ContextPlugin):
|
|||
"fps": context.data["fps"],
|
||||
"handleStart": handle_start,
|
||||
"handleEnd": handle_end,
|
||||
"newHierarchyIntegration": True,
|
||||
# Backwards compatible (Deprecated since 24/06/06)
|
||||
"newAssetPublishing": True,
|
||||
"families": ["clip"],
|
||||
"productType": product_type,
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
"""Package declaring AYON addon 'resolve' version."""
|
||||
__version__ = "0.2.0"
|
||||
__version__ = "0.2.1"
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
name = "resolve"
|
||||
title = "DaVinci Resolve"
|
||||
version = "0.2.0"
|
||||
version = "0.2.1"
|
||||
|
||||
client_dir = "ayon_resolve"
|
||||
|
||||
|
|
|
|||
|
|
@ -46,6 +46,7 @@ class CreateTextures(Creator):
|
|||
creator_attributes = instance_data.setdefault(
|
||||
"creator_attributes", dict())
|
||||
for key in [
|
||||
"review",
|
||||
"exportPresetUrl",
|
||||
"exportFileFormat",
|
||||
"exportSize",
|
||||
|
|
@ -143,6 +144,10 @@ class CreateTextures(Creator):
|
|||
}
|
||||
|
||||
return [
|
||||
BoolDef("review",
|
||||
label="Review",
|
||||
tooltip="Mark as reviewable",
|
||||
default=True),
|
||||
EnumDef("exportChannel",
|
||||
items=export_channel_enum,
|
||||
multiselection=True,
|
||||
|
|
|
|||
|
|
@ -124,7 +124,6 @@ class CollectTextureSet(pyblish.api.InstancePlugin):
|
|||
staging_dir = os.path.dirname(first_filepath)
|
||||
representation["tags"] = ["review"]
|
||||
representation["stagingDir"] = staging_dir
|
||||
|
||||
# Clone the instance
|
||||
product_type = "image"
|
||||
image_instance = context.create_instance(image_product_name)
|
||||
|
|
@ -136,6 +135,9 @@ class CollectTextureSet(pyblish.api.InstancePlugin):
|
|||
image_instance.data["productType"] = product_type
|
||||
image_instance.data["family"] = product_type
|
||||
image_instance.data["families"] = [product_type, "textures"]
|
||||
if instance.data["creator_attributes"].get("review"):
|
||||
image_instance.data["families"].append("review")
|
||||
|
||||
image_instance.data["representations"] = [representation]
|
||||
|
||||
# Group the textures together in the loader
|
||||
|
|
|
|||
|
|
@ -676,6 +676,8 @@ or updating already created. Publishing will create OTIO file.
|
|||
"shotName": shot_name,
|
||||
"variant": variant_name,
|
||||
"task": None,
|
||||
"newHierarchyIntegration": True,
|
||||
# Backwards compatible (Deprecated since 24/06/06)
|
||||
"newAssetPublishing": True,
|
||||
"trackStartFrame": track_start_frame,
|
||||
"timelineOffset": timeline_offset,
|
||||
|
|
|
|||
|
|
@ -28,8 +28,12 @@ class CollectSequenceFrameData(
|
|||
return
|
||||
|
||||
# editorial would fail since they might not be in database yet
|
||||
new_folder_publishing = instance.data.get("newAssetPublishing")
|
||||
if new_folder_publishing:
|
||||
new_hierarchy = (
|
||||
instance.data.get("newHierarchyIntegration")
|
||||
# Backwards compatible (Deprecated since 24/06/06)
|
||||
or instance.data.get("newAssetPublishing")
|
||||
)
|
||||
if new_hierarchy:
|
||||
self.log.debug("Instance is creating new folders. Skipping.")
|
||||
return
|
||||
|
||||
|
|
|
|||
|
|
@ -33,8 +33,12 @@ class ValidateFrameRange(OptionalPyblishPluginMixin,
|
|||
return
|
||||
|
||||
# editorial would fail since they might not be in database yet
|
||||
new_folder_publishing = instance.data.get("newAssetPublishing")
|
||||
if new_folder_publishing:
|
||||
new_hierarchy = (
|
||||
instance.data.get("newHierarchyIntegration")
|
||||
# Backwards compatible (Deprecated since 24/06/06)
|
||||
or instance.data.get("newAssetPublishing")
|
||||
)
|
||||
if new_hierarchy:
|
||||
self.log.debug("Instance is creating new folder. Skipping.")
|
||||
return
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
"""Package declaring AYON addon 'traypublisher' version."""
|
||||
__version__ = "0.2.2"
|
||||
__version__ = "0.2.3"
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
name = "traypublisher"
|
||||
title = "TrayPublisher"
|
||||
version = "0.2.2"
|
||||
version = "0.2.3"
|
||||
|
||||
client_dir = "ayon_traypublisher"
|
||||
|
||||
|
|
|
|||