Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey@blender.org>2022-07-05 18:35:12 +0300
committerSergey Sharybin <sergey@blender.org>2022-07-06 13:40:39 +0300
commitda852457040827f734287d7db98208e998cb3af6 (patch)
tree6a3610434b39fecc32bf02f3466f47a22acaf2d3 /source/blender/nodes/composite/nodes/node_composite_keyingscreen.cc
parent94323bb427480aaaeea52f6833173866fbacf2e1 (diff)
Compositor: Pre-fill active scene movie clip in more nodes
Pre-fills movie clip from the scene to the following nodes: - Keying Screen - Plane Track Deform - Track Position The rest of tracking related nodes were already doing so. Differential Revision: https://developer.blender.org/D15377
Diffstat (limited to 'source/blender/nodes/composite/nodes/node_composite_keyingscreen.cc')
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_keyingscreen.cc13
1 files changed, 11 insertions, 2 deletions
diff --git a/source/blender/nodes/composite/nodes/node_composite_keyingscreen.cc b/source/blender/nodes/composite/nodes/node_composite_keyingscreen.cc
index c3ed5cd7aa8..e4e37f630a2 100644
--- a/source/blender/nodes/composite/nodes/node_composite_keyingscreen.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_keyingscreen.cc
@@ -10,6 +10,9 @@
#include "BLI_math_base.h"
#include "BLI_math_color.h"
+#include "BKE_context.h"
+#include "BKE_lib_id.h"
+
#include "RNA_access.h"
#include "RNA_prototypes.h"
@@ -27,10 +30,16 @@ static void cmp_node_keyingscreen_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Screen"));
}
-static void node_composit_init_keyingscreen(bNodeTree *UNUSED(ntree), bNode *node)
+static void node_composit_init_keyingscreen(const bContext *C, PointerRNA *ptr)
{
+ bNode *node = (bNode *)ptr->data;
+
NodeKeyingScreenData *data = MEM_cnew<NodeKeyingScreenData>(__func__);
node->storage = data;
+
+ const Scene *scene = CTX_data_scene(C);
+ node->id = (ID *)scene->clip;
+ id_us_plus(node->id);
}
static void node_composit_buts_keyingscreen(uiLayout *layout, bContext *C, PointerRNA *ptr)
@@ -71,7 +80,7 @@ void register_node_type_cmp_keyingscreen()
cmp_node_type_base(&ntype, CMP_NODE_KEYINGSCREEN, "Keying Screen", NODE_CLASS_MATTE);
ntype.declare = file_ns::cmp_node_keyingscreen_declare;
ntype.draw_buttons = file_ns::node_composit_buts_keyingscreen;
- node_type_init(&ntype, file_ns::node_composit_init_keyingscreen);
+ ntype.initfunc_api = file_ns::node_composit_init_keyingscreen;
node_type_storage(
&ntype, "NodeKeyingScreenData", node_free_standard_storage, node_copy_standard_storage);