@@ -93,45 +93,46 @@ def _initialize_compositor_node_tree(self, ntp_nt, nt_name):
9393 self ._write (f"{ ntp_nt .var } .{ bool_setting } = True" )
9494
9595
96- def _set_color_balance_settings (self , node : CompositorNodeColorBalance
97- ) -> None :
98- """
99- Sets the color balance settings so we only set the active variables,
100- preventing conflict
101-
102- node (CompositorNodeColorBalance): the color balance node
103- """
104- if node .correction_method == 'LIFT_GAMMA_GAIN' :
105- lst = [NTPNodeSetting ("correction_method" , ST .ENUM ),
106- NTPNodeSetting ("gain" , ST .VEC3 , max_version_ = (3 , 5 , 0 )),
107- NTPNodeSetting ("gain" , ST .COLOR , min_version_ = (3 , 5 , 0 )),
108- NTPNodeSetting ("gamma" , ST .VEC3 , max_version_ = (3 , 5 , 0 )),
109- NTPNodeSetting ("gamma" , ST .COLOR , min_version_ = (3 , 5 , 0 )),
110- NTPNodeSetting ("lift" , ST .VEC3 , max_version_ = (3 , 5 , 0 )),
111- NTPNodeSetting ("lift" , ST .COLOR , min_version_ = (3 , 5 , 0 ))]
112- elif node .correction_method == 'OFFSET_POWER_SLOPE' :
113- lst = [NTPNodeSetting ("correction_method" , ST .ENUM ),
114- NTPNodeSetting ("offset" , ST .VEC3 , max_version_ = (3 , 5 , 0 )),
115- NTPNodeSetting ("offset" , ST .COLOR , min_version_ = (3 , 5 , 0 )),
116- NTPNodeSetting ("offset_basis" , ST .FLOAT ),
117- NTPNodeSetting ("power" , ST .VEC3 , max_version_ = (3 , 5 , 0 )),
118- NTPNodeSetting ("power" , ST .COLOR , min_version_ = (3 , 5 , 0 )),
119- NTPNodeSetting ("slope" , ST .VEC3 , max_version_ = (3 , 5 , 0 )),
120- NTPNodeSetting ("slope" , ST .COLOR , min_version_ = (3 , 5 , 0 ))]
121- elif node .correction_method == 'WHITEPOINT' :
122- lst = [NTPNodeSetting ("correction_method" , ST .ENUM ),
123- NTPNodeSetting ("input_temperature" , ST .FLOAT ),
124- NTPNodeSetting ("input_tint" , ST .FLOAT ),
125- NTPNodeSetting ("output_temperature" , ST .FLOAT ),
126- NTPNodeSetting ("output_tint" , ST .FLOAT )]
127- else :
128- self .report ({'ERROR' },
129- f"Unknown color balance correction method "
130- f"{ enum_to_py_str (node .correction_method )} " )
131- return
132-
133- color_balance_info = self ._node_infos ['CompositorNodeColorBalance' ]
134- self ._node_infos ['CompositorNodeColorBalance' ] = color_balance_info ._replace (attributes_ = lst )
96+ if bpy .app .version < (4 , 5 , 0 ):
97+ def _set_color_balance_settings (self , node : CompositorNodeColorBalance
98+ ) -> None :
99+ """
100+ Sets the color balance settings so we only set the active variables,
101+ preventing conflict
102+
103+ node (CompositorNodeColorBalance): the color balance node
104+ """
105+ if node .correction_method == 'LIFT_GAMMA_GAIN' :
106+ lst = [NTPNodeSetting ("correction_method" , ST .ENUM ),
107+ NTPNodeSetting ("gain" , ST .VEC3 , max_version_ = (3 , 5 , 0 )),
108+ NTPNodeSetting ("gain" , ST .COLOR , min_version_ = (3 , 5 , 0 ), max_version_ = (4 , 5 , 0 )),
109+ NTPNodeSetting ("gamma" , ST .VEC3 , max_version_ = (3 , 5 , 0 )),
110+ NTPNodeSetting ("gamma" , ST .COLOR , min_version_ = (3 , 5 , 0 ), max_version_ = (4 , 5 , 0 )),
111+ NTPNodeSetting ("lift" , ST .VEC3 , max_version_ = (3 , 5 , 0 )),
112+ NTPNodeSetting ("lift" , ST .COLOR , min_version_ = (3 , 5 , 0 ), max_version_ = (4 , 5 , 0 ))]
113+ elif node .correction_method == 'OFFSET_POWER_SLOPE' :
114+ lst = [NTPNodeSetting ("correction_method" , ST .ENUM ),
115+ NTPNodeSetting ("offset" , ST .VEC3 , max_version_ = (3 , 5 , 0 )),
116+ NTPNodeSetting ("offset" , ST .COLOR , min_version_ = (3 , 5 , 0 ), max_version_ = (4 , 5 , 0 )),
117+ NTPNodeSetting ("offset_basis" , ST .FLOAT ),
118+ NTPNodeSetting ("power" , ST .VEC3 , max_version_ = (3 , 5 , 0 )),
119+ NTPNodeSetting ("power" , ST .COLOR , min_version_ = (3 , 5 , 0 ), max_version_ = (4 , 5 , 0 )),
120+ NTPNodeSetting ("slope" , ST .VEC3 , max_version_ = (3 , 5 , 0 )),
121+ NTPNodeSetting ("slope" , ST .COLOR , min_version_ = (3 , 5 , 0 ), max_version_ = (4 , 5 , 0 ))]
122+ elif node .correction_method == 'WHITEPOINT' :
123+ lst = [NTPNodeSetting ("correction_method" , ST .ENUM , max_version_ = (4 , 5 , 0 )),
124+ NTPNodeSetting ("input_temperature" , ST .FLOAT , max_version_ = (4 , 5 , 0 )),
125+ NTPNodeSetting ("input_tint" , ST .FLOAT , max_version_ = (4 , 5 , 0 )),
126+ NTPNodeSetting ("output_temperature" , ST .FLOAT , max_version_ = (4 , 5 , 0 )),
127+ NTPNodeSetting ("output_tint" , ST .FLOAT , max_version_ = (4 , 5 , 0 ))]
128+ else :
129+ self .report ({'ERROR' },
130+ f"Unknown color balance correction method "
131+ f"{ enum_to_py_str (node .correction_method )} " )
132+ return
133+
134+ color_balance_info = self ._node_infos ['CompositorNodeColorBalance' ]
135+ self ._node_infos ['CompositorNodeColorBalance' ] = color_balance_info ._replace (attributes_ = lst )
135136
136137 def _process_node (self , node : Node , ntp_nt : NTP_NodeTree ):
137138 """
@@ -143,8 +144,9 @@ def _process_node(self, node: Node, ntp_nt: NTP_NodeTree):
143144 """
144145 node_var : str = self ._create_node (node , ntp_nt .var )
145146
146- if node .bl_idname == 'CompositorNodeColorBalance' :
147- self ._set_color_balance_settings (node )
147+ if bpy .app .version < (4 , 5 , 0 ):
148+ if node .bl_idname == 'CompositorNodeColorBalance' :
149+ self ._set_color_balance_settings (node )
148150
149151 self ._set_settings_defaults (node )
150152 self ._hide_hidden_sockets (node )
0 commit comments