Compositor: Remove scene.use_nodes from Python API
Use Nodes were removed in d88d4cc8 from the UI, but marked deprecated
in Python API. Since we decided to remove `world.use_nodes` and
`material.use_nodes` for the shader editor (instead of deprecating
them), we also remove `scene.use_nodes`.
This PR only replaces the deprecated `scene.node_tree` with
`scene.compositing_node_group` where necessary. #143619 will fully
remove `node_tree`
Pull Request: https://projects.blender.org/blender/blender/pulls/143578
This commit is contained in:
@@ -2074,29 +2074,6 @@ static std::optional<std::string> rna_SceneRenderView_path(const PointerRNA *ptr
|
||||
return fmt::format("render.views[\"{}\"]", srv_name_esc);
|
||||
}
|
||||
|
||||
static bool rna_Scene_use_nodes_get(PointerRNA *ptr)
|
||||
{
|
||||
Scene *scene = reinterpret_cast<Scene *>(ptr->data);
|
||||
return scene->r.scemode & R_DOCOMP;
|
||||
}
|
||||
|
||||
static void rna_Scene_use_nodes_set(PointerRNA *ptr, const bool use_nodes)
|
||||
{
|
||||
Scene *scene = reinterpret_cast<Scene *>(ptr->data);
|
||||
SET_FLAG_FROM_TEST(scene->r.scemode, use_nodes, R_DOCOMP);
|
||||
}
|
||||
|
||||
/* Todo(#140111): Remove in 6.0. In Python API, this function is used to create a compositing node
|
||||
* tree if none exists. scene.use_nodes will be replaced by the existing scene.use_compositing. */
|
||||
static void rna_Scene_use_nodes_update(bContext *C, PointerRNA *ptr)
|
||||
{
|
||||
Scene *scene = (Scene *)ptr->data;
|
||||
if (scene->r.scemode & R_DOCOMP && scene->compositing_node_group == nullptr) {
|
||||
ED_node_composit_default(C, scene);
|
||||
}
|
||||
DEG_relations_tag_update(CTX_data_main(C));
|
||||
}
|
||||
|
||||
static void rna_Physics_relations_update(Main *bmain, Scene * /*scene*/, PointerRNA * /*ptr*/)
|
||||
{
|
||||
DEG_relations_tag_update(bmain);
|
||||
@@ -8941,14 +8918,6 @@ void RNA_def_scene(BlenderRNA *brna)
|
||||
nullptr,
|
||||
"rna_Scene_compositing_node_group_poll");
|
||||
|
||||
prop = RNA_def_property(srna, "use_nodes", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_sdna(prop, nullptr, "use_nodes", 1);
|
||||
RNA_def_property_flag(prop, PROP_CONTEXT_UPDATE);
|
||||
RNA_def_property_ui_text(
|
||||
prop, "Use Nodes", "Enable the compositing node group. (Deprecated: use use_compositing)");
|
||||
RNA_def_property_boolean_funcs(prop, "rna_Scene_use_nodes_get", "rna_Scene_use_nodes_set");
|
||||
RNA_def_property_update(prop, NC_SCENE | ND_RENDER_OPTIONS, "rna_Scene_use_nodes_update");
|
||||
|
||||
/* Sequencer */
|
||||
prop = RNA_def_property(srna, "sequence_editor", PROP_POINTER, PROP_NONE);
|
||||
RNA_def_property_pointer_sdna(prop, nullptr, "ed");
|
||||
|
||||
@@ -430,8 +430,8 @@ class CompositorNodeGroupInterfaceTest(AbstractNodeGroupInterfaceTest, NodeGroup
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
self.scene = bpy.data.scenes.new("test")
|
||||
self.scene.use_nodes = True
|
||||
self.main_tree = self.scene.node_tree
|
||||
self.main_tree = bpy.data.node_groups.new("test node tree", "CompositorNodeTree")
|
||||
self.scene.compositing_node_group = self.main_tree
|
||||
|
||||
def test_invalid_socket_type(self):
|
||||
self.do_test_invalid_socket_type("INVALID_SOCKET_TYPE_11!1")
|
||||
|
||||
@@ -131,8 +131,10 @@ def make_lib():
|
||||
bpy.context.collection.objects.link(ob)
|
||||
|
||||
# nodes
|
||||
bpy.data.scenes["Scene"].use_nodes = True
|
||||
sys_idprops = bpy.data.scenes["Scene"].node_tree.nodes['Render Layers'].bl_system_properties_get(do_create=True)
|
||||
tree = bpy.data.node_groups.new("Compositor Nodes", "CompositorNodeTree")
|
||||
bpy.data.scenes["Scene"].compositing_node_group = tree
|
||||
rlayers = tree.nodes.new(type="CompositorNodeRLayers")
|
||||
sys_idprops = rlayers.bl_system_properties_get(do_create=True)
|
||||
sys_idprops["prop"] = bpy.data.objects['Camera']
|
||||
|
||||
# rename scene and save
|
||||
|
||||
Reference in New Issue
Block a user