Skip to content

Commit ae8ea9d

Browse files
Merge pull request #109 from BrendanParmer/Blender-4.2
Blender 4.2
2 parents 4e227e0 + 1671c62 commit ae8ea9d

File tree

8 files changed

+3295
-1963
lines changed

8 files changed

+3295
-1963
lines changed

__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "Node to Python",
33
"description": "Convert Blender node groups to a Python add-on!",
44
"author": "Brendan Parmer",
5-
"version": (3, 1, 0),
5+
"version": (3, 2, 0),
66
"blender": (3, 0, 0),
77
"location": "Node",
88
"category": "Node",

blender_manifest.toml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
schema_version = "1.0.0"
2+
3+
id = "node_to_python"
4+
version = "3.2.0"
5+
name = "Node To Python"
6+
tagline = "Turn node groups into Python code"
7+
maintainer = "Brendan Parmer <[email protected]>"
8+
type = "add-on"
9+
10+
# In add-on mode, NodeToPython will create and write to files at a specified directory
11+
permissions = ["files"]
12+
13+
website = "https://github.com/BrendanParmer/NodeToPython"
14+
15+
tags = ["Development", "Compositing", "Geometry Nodes", "Material", "Node"]
16+
17+
blender_version_min = "4.2.0"
18+
blender_version_max = "4.3.0"
19+
20+
license = [
21+
"SPDX:MIT",
22+
]

compositor/operator.py

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
from ..ntp_operator import NTP_Operator, INDEX
66
from ..ntp_node_tree import NTP_NodeTree
77
from ..utils import *
8+
from ..node_settings import NTPNodeSetting, ST
89
from io import StringIO
910
from ..node_settings import node_settings
1011

@@ -33,7 +34,7 @@ class NTPCompositorOperator(NTP_Operator):
3334

3435
def __init__(self):
3536
super().__init__()
36-
self._settings = node_settings
37+
self._node_infos = node_settings
3738
for name in COMP_OP_RESERVED_NAMES:
3839
self._used_vars[name] = 0
3940

@@ -86,7 +87,7 @@ def _initialize_compositor_node_tree(self, ntp_nt, nt_name):
8687
if not hasattr(ntp_nt.node_tree, enum):
8788
continue
8889
setting = getattr(ntp_nt.node_tree, enum)
89-
if setting is not None and setting is not "":
90+
if setting != None and setting != "":
9091
py_str = enum_to_py_str(setting)
9192
self._write(f"{ntp_nt.var}.{enum} = {py_str}")
9293

@@ -119,7 +120,7 @@ def _set_color_balance_settings(self, node: CompositorNodeColorBalance
119120
NTPNodeSetting("power", ST.COLOR),
120121
NTPNodeSetting("slope", ST.COLOR)]
121122

122-
self._settings['CompositorNodeColorBalance'] = lst
123+
self._node_infos['CompositorNodeColorBalance'].attributes_ = lst
123124

124125
def _process_node(self, node: Node, ntp_nt: NTP_NodeTree):
125126
"""
@@ -167,6 +168,8 @@ def _process_node_tree(self, node_tree: CompositorNodeTree):
167168
ntp_nt = NTP_NodeTree(node_tree, nt_var)
168169
self._initialize_compositor_node_tree(ntp_nt, nt_name)
169170

171+
self._set_node_tree_properties(node_tree)
172+
170173
if bpy.app.version >= (4, 0, 0):
171174
self._tree_interface_settings(ntp_nt)
172175

@@ -175,15 +178,18 @@ def _process_node_tree(self, node_tree: CompositorNodeTree):
175178

176179
for node in node_tree.nodes:
177180
self._process_node(node, ntp_nt)
178-
181+
182+
#set look of nodes
179183
self._set_parents(node_tree)
180184
self._set_locations(node_tree)
181185
self._set_dimensions(node_tree)
182-
186+
187+
#create connections
183188
self._init_links(node_tree)
184189

185190
self._write(f"return {nt_var}\n")
186191

192+
#create node group
187193
self._write(f"{nt_var} = {nt_var}_node_group()\n", self._outer)
188194

189195
def execute(self, context):

geometry/operator.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ class NTPGeoNodesOperator(NTP_Operator):
3333

3434
def __init__(self):
3535
super().__init__()
36-
self._settings = node_settings
36+
self._node_infos = node_settings
3737
for name in GEO_OP_RESERVED_NAMES:
3838
self._used_vars[name] = 0
3939

@@ -133,17 +133,17 @@ def _process_node_tree(self, node_tree: GeometryNodeTree) -> None:
133133
f"type = \'GeometryNodeTree\', "
134134
f"name = {str_to_py_str(node_tree.name)})\n")
135135

136+
self._set_node_tree_properties(node_tree)
136137
if bpy.app.version >= (4, 0, 0):
137138
self._set_geo_tree_properties(node_tree)
138139

139-
#initialize nodes
140-
self._write(f"#initialize {nt_var} nodes")
141-
142140
ntp_nt = NTP_GeoNodeTree(node_tree, nt_var)
143141

144142
if bpy.app.version >= (4, 0, 0):
145143
self._tree_interface_settings(ntp_nt)
146144

145+
#initialize nodes
146+
self._write(f"#initialize {nt_var} nodes")
147147
for node in node_tree.nodes:
148148
self._process_node(node, ntp_nt)
149149

0 commit comments

Comments
 (0)