diff --git a/client/ayon_houdini/startup/otls/ayon_lop_load_shot.hda/INDEX__SECTION b/client/ayon_houdini/startup/otls/ayon_lop_load_shot.hda/INDEX__SECTION index b4d6467b34..a65ef931e7 100644 --- a/client/ayon_houdini/startup/otls/ayon_lop_load_shot.hda/INDEX__SECTION +++ b/client/ayon_houdini/startup/otls/ayon_lop_load_shot.hda/INDEX__SECTION @@ -10,5 +10,5 @@ Inputs: 0 to 1 Subnet: true Python: false Empty: false -Modified: Tue Oct 22 01:11:23 2024 +Modified: Wed Dec 18 16:17:10 2024 diff --git a/client/ayon_houdini/startup/otls/ayon_lop_load_shot.hda/ayon_8_8Lop_1load__shot_8_81.0/Contents.dir/.OPdummydefs b/client/ayon_houdini/startup/otls/ayon_lop_load_shot.hda/ayon_8_8Lop_1load__shot_8_81.0/Contents.dir/.OPdummydefs new file mode 100644 index 0000000000..df67584611 Binary files /dev/null and b/client/ayon_houdini/startup/otls/ayon_lop_load_shot.hda/ayon_8_8Lop_1load__shot_8_81.0/Contents.dir/.OPdummydefs differ diff --git a/client/ayon_houdini/startup/otls/ayon_lop_load_shot.hda/ayon_8_8Lop_1load__shot_8_81.0/Contents.dir/.OPfallbacks b/client/ayon_houdini/startup/otls/ayon_lop_load_shot.hda/ayon_8_8Lop_1load__shot_8_81.0/Contents.dir/.OPfallbacks new file mode 100644 index 0000000000..268cdcbbe3 --- /dev/null +++ b/client/ayon_houdini/startup/otls/ayon_lop_load_shot.hda/ayon_8_8Lop_1load__shot_8_81.0/Contents.dir/.OPfallbacks @@ -0,0 +1,2 @@ +ayon::Lop/generic_loader::1.0 E:/Ynput/ayon-houdini/client/ayon_houdini/startup/otls/ayon.generic_loader.hda +ayon::Lop/generic_loader::1.0 otls/ayon.generic_loader.hda diff --git a/client/ayon_houdini/startup/otls/ayon_lop_load_shot.hda/ayon_8_8Lop_1load__shot_8_81.0/Contents.dir/Contents.createtimes b/client/ayon_houdini/startup/otls/ayon_lop_load_shot.hda/ayon_8_8Lop_1load__shot_8_81.0/Contents.dir/Contents.createtimes index a046bdeced..c6615b4b0d 100644 --- a/client/ayon_houdini/startup/otls/ayon_lop_load_shot.hda/ayon_8_8Lop_1load__shot_8_81.0/Contents.dir/Contents.createtimes +++ b/client/ayon_houdini/startup/otls/ayon_lop_load_shot.hda/ayon_8_8Lop_1load__shot_8_81.0/Contents.dir/Contents.createtimes @@ -2,5 +2,6 @@ "hdaroot/sublayer.def":1720045839, "hdaroot/warn_no_representation_set.def":1708980551, "hdaroot/output0.def":1698215383, - "hdaroot.def":1729552120 + "hdaroot.def":1734531127, + "hdaroot/generic_loader.def":1734531150 } diff --git a/client/ayon_houdini/startup/otls/ayon_lop_load_shot.hda/ayon_8_8Lop_1load__shot_8_81.0/Contents.dir/Contents.mime b/client/ayon_houdini/startup/otls/ayon_lop_load_shot.hda/ayon_8_8Lop_1load__shot_8_81.0/Contents.dir/Contents.mime index 1675bbd4e0..6c4bde3608 100644 --- a/client/ayon_houdini/startup/otls/ayon_lop_load_shot.hda/ayon_8_8Lop_1load__shot_8_81.0/Contents.dir/Contents.mime +++ b/client/ayon_houdini/startup/otls/ayon_lop_load_shot.hda/ayon_8_8Lop_1load__shot_8_81.0/Contents.dir/Contents.mime @@ -1,6 +1,18 @@ MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY" +--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY +Content-Disposition: attachment; filename=".OPfallbacks" +Content-Type: application/external-reference + +.OPfallbacks + +--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY +Content-Disposition: attachment; filename=".OPdummydefs" +Content-Type: application/external-reference + +.OPdummydefs + --HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY Content-Disposition: attachment; filename="node_type" Content-Type: text/plain @@ -19,7 +31,7 @@ Content-Disposition: attachment; filename="hdaroot.def" Content-Type: text/plain comment "" -position -4.13562 1.50033 +position 2.43462 0.257621 connectornextid 0 flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on debug off outputsNamed3 @@ -35,7 +47,7 @@ stat { create -1 modify -1 - author User@HP-Z820-03 + author Mustafa_Taher@Major-Kalawy access 0777 } color UT_Color RGB 0.8 0.8 0.8 @@ -350,14 +362,213 @@ Content-Type: text/plain } } +--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY +Content-Disposition: attachment; filename="hdaroot/generic_loader.init" +Content-Type: text/plain + +type = ayon::generic_loader::1.0 +matchesdef = 1 + +--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY +Content-Disposition: attachment; filename="hdaroot/generic_loader.def" +Content-Type: text/plain + +comment "" +position 1.81174 2.49292 +connectornextid 0 +flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on debug off +outputsNamed3 +{ +} +inputsNamed3 +{ +} +inputs +{ +} +stat +{ + create -1 + modify -1 + author Mustafa_Taher@Major-Kalawy + access 0777 +} +color UT_Color RGB 0.8 0.8 0.8 +delscript "" +exprlanguage hscript +end + +--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY +Content-Disposition: attachment; filename="hdaroot/generic_loader.chn" +Content-Type: text/plain + +{ + channel file { + lefttype = extend + righttype = extend + defaultString = \"\" + flags = 0 + start = 40 + segment { length = 0 expr = ch(\"../file\") language = python } + } + channel newparameter { + lefttype = extend + righttype = extend + defaultString = \"\" + flags = 0 + start = 40 + segment { length = 0 expr = "\" \".join(parm.node().path() for parm in hou.parm('./file').parmsReferencingThis())" language = python } + } + channel project_name { + lefttype = extend + righttype = extend + defaultString = \"$AYON_PROJECT_NAME\" + flags = 0 + start = 40 + segment { length = 0 expr = chs(\"../project_name\") } + } + channel folder_path { + lefttype = extend + righttype = extend + defaultString = \"$AYON_FOLDER_PATH\" + flags = 0 + start = 40 + segment { length = 0 expr = chs(\"../folder_path\") } + } + channel folder_name { + lefttype = extend + righttype = extend + defaultString = "(strsplit(chs(\"folder_path\"), \"/\", -1))" + flags = 0 + start = 40 + segment { length = 0 expr = chs(\"../folder_name\") } + } + channel product_name { + lefttype = extend + righttype = extend + defaultString = \"\" + flags = 0 + start = 40 + segment { length = 0 expr = chs(\"../product_name\") } + } + channel version { + lefttype = extend + righttype = extend + defaultString = \"\" + flags = 0 + start = 40 + segment { length = 0 expr = chs(\"../version\") } + } + channel representation_name { + lefttype = extend + righttype = extend + defaultString = \"\" + flags = 0 + start = 40 + segment { length = 0 expr = chs(\"../representation_name\") } + } + channel clear_cache { + lefttype = extend + righttype = extend + flags = 0 + start = 40 + segment { length = 0 expr = ch(\"../clear_cache\") } + } + channel use_ayon_entity_uri { + lefttype = extend + righttype = extend + flags = 0 + start = 40 + segment { length = 0 expr = ch(\"../use_ayon_entity_uri\") } + } + channel show_thumbnail { + lefttype = extend + righttype = extend + flags = 0 + start = 40 + segment { length = 0 expr = ch(\"../show_thumbnail\") } + } + channel show_pipeline_parms { + lefttype = extend + righttype = extend + flags = 0 + start = 40 + segment { length = 0 expr = ch(\"../show_pipeline_parms\") } + } + channel representation { + lefttype = extend + righttype = extend + defaultString = \"\" + flags = 0 + start = 40 + segment { length = 0 expr = ch(\"../representation\") language = python } + } + } + +--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY +Content-Disposition: attachment; filename="hdaroot/generic_loader.parm" +Content-Type: text/plain + +{ +version 0.8 +info2 [ 0 locks=0 ] ( 0 ) +assetinfo_labelparm [ 0 locks=0 ] ( "Choose Product" ) +project_name [ 0 locks=0 ] ( [ project_name $AYON_PROJECT_NAME ] ) +folder_path [ 0 locks=0 ] ( [ folder_path $AYON_FOLDER_PATH ] ) +folder_name [ 0 locks=0 ] ( [ folder_name "`strsplit(chs(\"folder_path\"), \"/\", -1)`" ] ) +product_name [ 0 locks=0 ] ( [ product_name "" ] ) +version [ 0 locks=0 ] ( [ version "" ] ) +representation_name [ 0 locks=0 ] ( [ representation_name "" ] ) +usd_compatible_representations [ 0 locks=0 ] ( "on" ) +clear_cache [ 0 locks=0 ] ( [ clear_cache 0 ] ) +sepparm [ 0 locks=0 ] ( ) +file [ 0 locks=1 ] ( [ file "from ayon_houdini.api import hda_utils +return hda_utils.expression_get_representation_path()" ] ) +use_ayon_entity_uri [ 0 locks=0 ] ( [ use_ayon_entity_uri 0 ] ) +info_display2 [ 0 locks=0 ] ( 0 ) +show_thumbnail [ 0 locks=0 ] ( [ show_thumbnail 0 ] ) +thumbnail_size [ 0 locks=0 ] ( 2 ) +thumbnail_cache_dir [ 0 locks=0 ] ( $JOB/.houdini_loader_thumbnails ) +thumbnail_padding [ 0 locks=0 ] ( 1 ) +thumbnail_offset [ 0 locks=0 ] ( 0 0.35 ) +update_thumbnail [ 0 locks=0 ] ( 0 ) +show_pipeline_parms [ 0 locks=0 ] ( [ show_pipeline_parms 0 ] ) +ayon_folder0 [ 0 locks=0 ] ( 0 ) +name [ 0 locks=0 ] ( $OS ) +namespace [ 0 locks=0 ] ( `opfullpath(\".\")` ) +loader [ 0 locks=0 ] ( FilePathLoader ) +id [ 0 locks=0 ] ( pyblish.avalon.container ) +representation [ 0 locks=0 ] ( [ representation "from ayon_houdini.api import hda_utils +return hda_utils.expression_get_representation_id()" ] ) +version_name [ 0 locks=0 ] ( "" ) +subset_name [ 0 locks=0 ] ( `chs(\"product_name\")` ) +newparameter [ 0 locks=0 ] ( [ newparameter "\" \".join(parm.node().path() for parm in hou.parm('./file').parmsReferencingThis())" ] ) +} + +--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY +Content-Disposition: attachment; filename="hdaroot/generic_loader.userdata" +Content-Type: text/plain + +{ + "___Version___":{ + "type":"string", + "value":"" + }, + "nodeshape":{ + "type":"string", + "value":"null" + } +} + --HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY Content-Disposition: attachment; filename="hdaroot.order" Content-Type: text/plain -3 +4 output0 sublayer warn_no_representation_set +generic_loader --HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY Content-Disposition: attachment; filename="hdaroot.net" diff --git a/client/ayon_houdini/startup/otls/ayon_lop_load_shot.hda/ayon_8_8Lop_1load__shot_8_81.0/Contents.dir/Contents.modtimes b/client/ayon_houdini/startup/otls/ayon_lop_load_shot.hda/ayon_8_8Lop_1load__shot_8_81.0/Contents.dir/Contents.modtimes index 4fc9380cfa..596f6047bf 100644 --- a/client/ayon_houdini/startup/otls/ayon_lop_load_shot.hda/ayon_8_8Lop_1load__shot_8_81.0/Contents.dir/Contents.modtimes +++ b/client/ayon_houdini/startup/otls/ayon_lop_load_shot.hda/ayon_8_8Lop_1load__shot_8_81.0/Contents.dir/Contents.modtimes @@ -1,6 +1,7 @@ { - "hdaroot/sublayer.def":1729552247, + "hdaroot/sublayer.def":1734531279, "hdaroot/warn_no_representation_set.def":1729552277, "hdaroot/output0.def":1729552203, - "hdaroot.def":1729552272 + "hdaroot.def":1734532107, + "hdaroot/generic_loader.def":1734531324 } diff --git a/client/ayon_houdini/startup/otls/ayon_lop_load_shot.hda/ayon_8_8Lop_1load__shot_8_81.0/DialogScript b/client/ayon_houdini/startup/otls/ayon_lop_load_shot.hda/ayon_8_8Lop_1load__shot_8_81.0/DialogScript index 7c41bdcd25..9d262f8cb4 100644 --- a/client/ayon_houdini/startup/otls/ayon_lop_load_shot.hda/ayon_8_8Lop_1load__shot_8_81.0/DialogScript +++ b/client/ayon_houdini/startup/otls/ayon_lop_load_shot.hda/ayon_8_8Lop_1load__shot_8_81.0/DialogScript @@ -32,6 +32,7 @@ label "Project" type string default { "$AYON_PROJECT_NAME" } + parmtag { "autoscope" "0000000000000000" } parmtag { "script_action" "from ayon_houdini.api.hda_utils import select_folder_path;select_folder_path(kwargs['node'])" } parmtag { "script_action_icon" "BUTTONS_reselect" } } @@ -40,17 +41,25 @@ label "Folder Path" type string default { "$AYON_FOLDER_PATH" } + parmtag { "autoscope" "0000000000000000" } parmtag { "script_action" "from ayon_houdini.api.hda_utils import select_folder_path;select_folder_path(kwargs['node'])" } parmtag { "script_action_icon" "BUTTONS_reselect" } } + parm { + name "folder_name" + label "Folder Name" + type label + default { "`strsplit(chs(\"folder_path\"), \"/\", -1)`" } + parmtag { "autoscope" "0000000000000000" } + } parm { name "product_name" label "Product" type string default { "usdShot" } + parmtag { "autoscope" "0000000000000000" } parmtag { "script_action" "from ayon_houdini.api.hda_utils import select_product_name;select_product_name(kwargs['node'])" } parmtag { "script_action_icon" "BUTTONS_reselect" } - parmtag { "script_callback" "hou.phm().set_to_latest_version(kwargs['node'])" } parmtag { "script_callback_language" "python" } } parm { @@ -58,24 +67,22 @@ label "Version" type string default { "" } - disablewhen "{ representation_old == \"\" }" menureplace { - [ "versions = hou.phm().get_available_versions(kwargs['node'])" ] - [ "" ] - [ "result = []" ] - [ "for version in versions:" ] - [ " result.append(str(version))" ] - [ " result.append(f\"v{version:03d}\")" ] - [ " " ] - [ "return result" ] - language python + [ "opmenu -l -a generic_loader version" ] } + parmtag { "autoscope" "0000000000000000" } + parmtag { "script_callback_language" "python" } } parm { name "representation_name" label "Representation" type string default { "usd" } + menureplace { + [ "opmenu -l -a generic_loader representation_name" ] + } + parmtag { "autoscope" "0000000000000000" } + parmtag { "script_callback_language" "python" } } parm { name "clear_cache" @@ -83,7 +90,7 @@ type button default { "0" } help "The load logic uses expressions that cache into the current session to avoid continuously requeryin the database. This clear that cache to enforce a full refresh of the expressions." - parmtag { "script_callback" "hou.phm().expression_clear_cache()" } + parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { @@ -92,27 +99,30 @@ type separator default { "" } } - parm { - name "reload" - label "Reload Files" - type button - default { "0" } - parmtag { "autoscope" "0000000000000000" } - parmtag { "script_callback_language" "python" } - } parm { name "file" label "File" type string default { [ "from ayon_houdini.api import hda_utils\nreturn hda_utils.expression_get_representation_path()" python ] } + parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "use_ayon_entity_uri" label "Use AYON Entity URI" type toggle - default { "0" } + default { "off" } help "When enabled, loads the filepath using the AYON Entity URI instead of the resolved filepath." + parmtag { "autoscope" "0000000000000000" } + parmtag { "script_callback_language" "python" } + } + parm { + name "reload" + label "Reload Files" + type button + default { "0" } + parmtag { "autoscope" "0000000000000000" } + parmtag { "script_callback_language" "python" } } groupcollapsible { name "extra_options" @@ -156,9 +166,8 @@ name "show_thumbnail" label "Show Entity Thumbnail" type toggle - joinnext - default { "0" } - parmtag { "script_callback" "hou.phm().on_thumbnail_show_changed(kwargs['node'])" } + default { "off" } + parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { @@ -213,7 +222,9 @@ name "show_pipeline_parms" label "Show Pipeline Parms" type toggle - default { "0" } + default { "off" } + parmtag { "autoscope" "0000000000000000" } + parmtag { "script_callback_language" "python" } } } @@ -251,6 +262,8 @@ label "Representation ID" type string default { [ "from ayon_houdini.api import hda_utils\nreturn hda_utils.expression_get_representation_id()" python ] } + parmtag { "autoscope" "0000000000000000" } + parmtag { "script_callback_language" "python" } } parm { name "version_name" diff --git a/client/ayon_houdini/startup/otls/ayon_lop_load_shot.hda/ayon_8_8Lop_1load__shot_8_81.0/ExtraFileOptions b/client/ayon_houdini/startup/otls/ayon_lop_load_shot.hda/ayon_8_8Lop_1load__shot_8_81.0/ExtraFileOptions index 1e4abaedc1..ca3babfb4a 100644 --- a/client/ayon_houdini/startup/otls/ayon_lop_load_shot.hda/ayon_8_8Lop_1load__shot_8_81.0/ExtraFileOptions +++ b/client/ayon_houdini/startup/otls/ayon_lop_load_shot.hda/ayon_8_8Lop_1load__shot_8_81.0/ExtraFileOptions @@ -21,7 +21,7 @@ }, "OnCreated/Cursor":{ "type":"intarray", - "value":[5,29] + "value":[1,1] }, "OnCreated/IsExpr":{ "type":"bool", @@ -101,7 +101,7 @@ }, "PythonModule/Cursor":{ "type":"intarray", - "value":[10,1] + "value":[8,1] }, "PythonModule/IsExpr":{ "type":"bool", diff --git a/client/ayon_houdini/startup/otls/ayon_lop_load_shot.hda/ayon_8_8Lop_1load__shot_8_81.0/PythonModule b/client/ayon_houdini/startup/otls/ayon_lop_load_shot.hda/ayon_8_8Lop_1load__shot_8_81.0/PythonModule index 83bd65b373..905eb3ef2b 100644 --- a/client/ayon_houdini/startup/otls/ayon_lop_load_shot.hda/ayon_8_8Lop_1load__shot_8_81.0/PythonModule +++ b/client/ayon_houdini/startup/otls/ayon_lop_load_shot.hda/ayon_8_8Lop_1load__shot_8_81.0/PythonModule @@ -3,9 +3,5 @@ from ayon_houdini.api.hda_utils import ( on_thumbnail_size_changed, update_thumbnail, setup_flag_changed_callback, - get_available_versions, - select_product_name, - set_to_latest_version, - expression_clear_cache, ensure_loader_expression_parm_defaults )