Skip to content

Commit d476452

Browse files
committed
feat: update node settings, handle format string items
1 parent 6d1151d commit d476452

File tree

2 files changed

+35
-25
lines changed

2 files changed

+35
-25
lines changed

NodeToPython/node_settings.py

Lines changed: 23 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ class ST(Enum):
2626
FOREACH_GEO_ELEMENT_GENERATION_ITEMS = auto()
2727
FOREACH_GEO_ELEMENT_INPUT_ITEMS = auto()
2828
FOREACH_GEO_ELEMENT_MAIN_ITEMS = auto()
29+
FORMAT_STRING_ITEMS = auto()
2930
INDEX_SWITCH_ITEMS = auto()
3031
MENU_SWITCH_ITEMS = auto()
3132
NODE_TREE = auto()
@@ -410,9 +411,7 @@ class NodeInfo(NamedTuple):
410411
),
411412

412413
'CompositorNodeDisplace' : NodeInfo(
413-
[
414-
NTPNodeSetting("interpolation", ST.ENUM, min_version_=(5, 0, 0)),
415-
]
414+
[]
416415
),
417416

418417
'CompositorNodeDistanceMatte' : NodeInfo(
@@ -465,17 +464,17 @@ class NodeInfo(NamedTuple):
465464

466465
'CompositorNodeGlare' : NodeInfo(
467466
[
468-
NTPNodeSetting("angle_offset", ST.FLOAT, max_version_=(4, 5, 0)),
469-
NTPNodeSetting("color_modulation", ST.FLOAT, max_version_=(4, 5, 0)),
470-
NTPNodeSetting("fade", ST.FLOAT, max_version_=(4, 5, 0)),
467+
NTPNodeSetting("angle_offset", ST.FLOAT, max_version_=(4, 4, 0)),
468+
NTPNodeSetting("color_modulation", ST.FLOAT, max_version_=(4, 4, 0)),
469+
NTPNodeSetting("fade", ST.FLOAT, max_version_=(4, 4, 0)),
471470
NTPNodeSetting("glare_type", ST.ENUM),
472-
NTPNodeSetting("iterations", ST.INT, max_version_=(4, 5, 0)),
473-
NTPNodeSetting("mix", ST.FLOAT, max_version_=(4, 5, 0)),
471+
NTPNodeSetting("iterations", ST.INT, max_version_=(4, 4, 0)),
472+
NTPNodeSetting("mix", ST.FLOAT, max_version_=(4, 4, 0)),
474473
NTPNodeSetting("quality", ST.ENUM),
475-
NTPNodeSetting("size", ST.INT, max_version_=(4, 5, 0)),
476-
NTPNodeSetting("streaks", ST.INT, max_version_=(4, 5, 0)),
477-
NTPNodeSetting("threshold", ST.FLOAT, max_version_=(4, 5, 0)),
478-
NTPNodeSetting("use_rotate_45", ST.BOOL, max_version_=(4, 5, 0)),
474+
NTPNodeSetting("size", ST.INT, max_version_=(4, 4, 0)),
475+
NTPNodeSetting("streaks", ST.INT, max_version_=(4, 4, 0)),
476+
NTPNodeSetting("threshold", ST.FLOAT, max_version_=(4, 4, 0)),
477+
NTPNodeSetting("use_rotate_45", ST.BOOL, max_version_=(4, 4, 0)),
479478
]
480479
),
481480

@@ -848,13 +847,13 @@ class NodeInfo(NamedTuple):
848847

849848
'CompositorNodeTonemap' : NodeInfo(
850849
[
851-
NTPNodeSetting("adaptation", ST.FLOAT),
852-
NTPNodeSetting("contrast", ST.FLOAT),
853-
NTPNodeSetting("correction", ST.FLOAT),
854-
NTPNodeSetting("gamma", ST.FLOAT),
855-
NTPNodeSetting("intensity", ST.FLOAT),
856-
NTPNodeSetting("key", ST.FLOAT),
857-
NTPNodeSetting("offset", ST.FLOAT),
850+
NTPNodeSetting("adaptation", ST.FLOAT, max_version_=(4, 5, 0)),
851+
NTPNodeSetting("contrast", ST.FLOAT, max_version_=(4, 5, 0)),
852+
NTPNodeSetting("correction", ST.FLOAT, max_version_=(4, 5, 0)),
853+
NTPNodeSetting("gamma", ST.FLOAT, max_version_=(4, 5, 0)),
854+
NTPNodeSetting("intensity", ST.FLOAT, max_version_=(4, 5, 0)),
855+
NTPNodeSetting("key", ST.FLOAT, max_version_=(4, 5, 0)),
856+
NTPNodeSetting("offset", ST.FLOAT, max_version_=(4, 5, 0)),
858857
NTPNodeSetting("tonemap_type", ST.ENUM),
859858
]
860859
),
@@ -1013,6 +1012,7 @@ class NodeInfo(NamedTuple):
10131012
'FunctionNodeFormatString' : NodeInfo(
10141013
[
10151014
NTPNodeSetting("active_index", ST.INT),
1015+
NTPNodeSetting("format_items", ST.FORMAT_STRING_ITEMS),
10161016
],
10171017
min_version_ = (4, 5, 0)
10181018
),
@@ -2805,9 +2805,7 @@ class NodeInfo(NamedTuple):
28052805
),
28062806

28072807
'GeometryNodeUVPackIslands' : NodeInfo(
2808-
[
2809-
NTPNodeSetting("shape_method", ST.ENUM, min_version_=(5, 0, 0)),
2810-
],
2808+
[],
28112809
min_version_ = (3, 3, 0)
28122810
),
28132811

@@ -3391,16 +3389,16 @@ class NodeInfo(NamedTuple):
33913389
NTPNodeSetting("air_density", ST.FLOAT),
33923390
NTPNodeSetting("altitude", ST.FLOAT),
33933391
NTPNodeSetting("dust_density", ST.FLOAT),
3394-
NTPNodeSetting("ground_albedo", ST.FLOAT, max_version_=(5, 0, 0)),
3392+
NTPNodeSetting("ground_albedo", ST.FLOAT),
33953393
NTPNodeSetting("ozone_density", ST.FLOAT),
33963394
NTPNodeSetting("sky_type", ST.ENUM),
3397-
NTPNodeSetting("sun_direction", ST.VEC3, max_version_=(5, 0, 0)),
3395+
NTPNodeSetting("sun_direction", ST.VEC3),
33983396
NTPNodeSetting("sun_disc", ST.BOOL),
33993397
NTPNodeSetting("sun_elevation", ST.FLOAT),
34003398
NTPNodeSetting("sun_intensity", ST.FLOAT),
34013399
NTPNodeSetting("sun_rotation", ST.FLOAT),
34023400
NTPNodeSetting("sun_size", ST.FLOAT),
3403-
NTPNodeSetting("turbidity", ST.FLOAT, max_version_=(5, 0, 0)),
3401+
NTPNodeSetting("turbidity", ST.FLOAT),
34043402
]
34053403
),
34063404

NodeToPython/ntp_operator.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -454,6 +454,8 @@ def _set_settings_defaults(self, node: Node) -> None:
454454
self._foreach_geo_element_input_items(attr, f"{node_var}.{attr_name}")
455455
elif st == ST.FOREACH_GEO_ELEMENT_MAIN_ITEMS:
456456
self._foreach_geo_element_main_items(attr, f"{node_var}.{attr_name}")
457+
elif st == ST.FORMAT_STRING_ITEMS:
458+
self._format_string_items(attr, f"{node_var}.{attr_name}")
457459

458460
if bpy.app.version < (4, 0, 0):
459461
def _set_group_socket_defaults(self, socket_interface: NodeSocketInterface,
@@ -1349,6 +1351,16 @@ def _foreach_geo_element_main_items(self,
13491351
name_str = str_to_py_str(item.name)
13501352
self._write(f"{main_items_str}.new({socket_type}, {name_str})")
13511353

1354+
if bpy.app.version >= (4, 5, 0):
1355+
def _format_string_items(self,
1356+
format_items : bpy.types.NodeFunctionFormatStringItems,
1357+
format_items_str: str) -> None:
1358+
self._write(f"{format_items_str}.clear()")
1359+
for i, item in enumerate(format_items):
1360+
socket_type = enum_to_py_str(item.socket_type)
1361+
name_str = str_to_py_str(item.name)
1362+
self._write(f"{format_items_str}.new({socket_type}, {name_str})")
1363+
13521364

13531365
def _set_parents(self, node_tree: NodeTree) -> None:
13541366
"""

0 commit comments

Comments
 (0)