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:
authorAaron Carlisle <carlisle.b3d@gmail.com>2021-09-29 21:48:21 +0300
committerAaron Carlisle <carlisle.b3d@gmail.com>2021-09-29 21:48:30 +0300
commita2e321aa6dff2782643cd121f42b18a0e2aaeb16 (patch)
tree411c8489309020a3d876b1d80f2169aabd07692c
parentd3d021601d7d91ddbc1ac55f733d662b5d49088c (diff)
Cleanup: Compositor: Migrate most converter nodes to new socket builder
This migrates most nodes except for the switch view node. This node requires dynamic sockets so its implementation will be more involved.
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_idMask.cc19
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_math.cc19
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_premulkey.cc21
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_sepcombHSVA.cc54
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_sepcombRGBA.cc52
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_sepcombYCCA.cc50
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_sepcombYUVA.cc50
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_setalpha.cc22
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_valToRgb.cc42
9 files changed, 181 insertions, 148 deletions
diff --git a/source/blender/nodes/composite/nodes/node_composite_idMask.cc b/source/blender/nodes/composite/nodes/node_composite_idMask.cc
index 13e3536f9ee..de011dd6274 100644
--- a/source/blender/nodes/composite/nodes/node_composite_idMask.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_idMask.cc
@@ -25,21 +25,22 @@
/* **************** ID Mask ******************** */
-static bNodeSocketTemplate cmp_node_idmask_in[] = {
- {SOCK_FLOAT, N_("ID value"), 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
- {-1, ""},
-};
-static bNodeSocketTemplate cmp_node_idmask_out[] = {
- {SOCK_FLOAT, N_("Alpha")},
- {-1, ""},
-};
+namespace blender::nodes {
+
+static void cmp_node_idmask_declare(NodeDeclarationBuilder &b)
+{
+ b.add_input<decl::Float>("ID value").default_value(1.0f).min(0.0f).max(1.0f);
+ b.add_output<decl::Float>("Alpha");
+}
+
+} // namespace blender::nodes
void register_node_type_cmp_idmask(void)
{
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_ID_MASK, "ID Mask", NODE_CLASS_CONVERTER, 0);
- node_type_socket_templates(&ntype, cmp_node_idmask_in, cmp_node_idmask_out);
+ ntype.declare = blender::nodes::cmp_node_idmask_declare;
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/composite/nodes/node_composite_math.cc b/source/blender/nodes/composite/nodes/node_composite_math.cc
index ecddcc2ad32..a9859425e28 100644
--- a/source/blender/nodes/composite/nodes/node_composite_math.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_math.cc
@@ -24,20 +24,25 @@
#include "node_composite_util.hh"
/* **************** SCALAR MATH ******************** */
-static bNodeSocketTemplate cmp_node_math_in[] = {
- {SOCK_FLOAT, N_("Value"), 0.5f, 0.5f, 0.5f, 1.0f, -10000.0f, 10000.0f, PROP_NONE},
- {SOCK_FLOAT, N_("Value"), 0.5f, 0.5f, 0.5f, 1.0f, -10000.0f, 10000.0f, PROP_NONE},
- {SOCK_FLOAT, N_("Value"), 0.0f, 0.5f, 0.5f, 1.0f, -10000.0f, 10000.0f, PROP_NONE},
- {-1, ""}};
-static bNodeSocketTemplate cmp_node_math_out[] = {{SOCK_FLOAT, N_("Value")}, {-1, ""}};
+namespace blender::nodes {
+
+static void cmp_node_math_declare(NodeDeclarationBuilder &b)
+{
+ b.add_input<decl::Float>("Value").default_value(0.5f).min(-10000.0f).max(10000.0f);
+ b.add_input<decl::Float>("Value", "Value_001").default_value(0.5f).min(-10000.0f).max(10000.0f);
+ b.add_input<decl::Float>("Value", "Value_002").default_value(0.5f).min(-10000.0f).max(10000.0f);
+ b.add_output<decl::Float>("Value");
+}
+
+} // namespace blender::nodes
void register_node_type_cmp_math(void)
{
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_MATH, "Math", NODE_CLASS_CONVERTER, 0);
- node_type_socket_templates(&ntype, cmp_node_math_in, cmp_node_math_out);
+ ntype.declare = blender::nodes::cmp_node_math_declare;
node_type_label(&ntype, node_math_label);
node_type_update(&ntype, node_math_update);
diff --git a/source/blender/nodes/composite/nodes/node_composite_premulkey.cc b/source/blender/nodes/composite/nodes/node_composite_premulkey.cc
index 68716ee53b5..0abd7110aff 100644
--- a/source/blender/nodes/composite/nodes/node_composite_premulkey.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_premulkey.cc
@@ -25,21 +25,22 @@
/* **************** Premul and Key Alpha Convert ******************** */
-static bNodeSocketTemplate cmp_node_premulkey_in[] = {
- {SOCK_RGBA, N_("Image"), 1.0f, 1.0f, 1.0f, 1.0f},
- {-1, ""},
-};
-static bNodeSocketTemplate cmp_node_premulkey_out[] = {
- {SOCK_RGBA, N_("Image")},
- {-1, ""},
-};
+namespace blender::nodes {
+
+static void cmp_node_premulkey_declare(NodeDeclarationBuilder &b)
+{
+ b.add_input<decl::Color>("Image").default_value({1.0f, 1.0f, 1.0f, 1.0f});
+ b.add_output<decl::Color>("Image");
+}
+
+} // namespace blender::nodes
void register_node_type_cmp_premulkey(void)
{
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_PREMULKEY, "Alpha Convert", NODE_CLASS_CONVERTER, 0);
- node_type_socket_templates(&ntype, cmp_node_premulkey_in, cmp_node_premulkey_out);
-
+ ntype.declare = blender::nodes::cmp_node_premulkey_declare;
+
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/composite/nodes/node_composite_sepcombHSVA.cc b/source/blender/nodes/composite/nodes/node_composite_sepcombHSVA.cc
index 17b1ab9ac59..06952d3b6d9 100644
--- a/source/blender/nodes/composite/nodes/node_composite_sepcombHSVA.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_sepcombHSVA.cc
@@ -24,47 +24,51 @@
#include "node_composite_util.hh"
/* **************** SEPARATE HSVA ******************** */
-static bNodeSocketTemplate cmp_node_sephsva_in[] = {
- {SOCK_RGBA, N_("Image"), 1.0f, 1.0f, 1.0f, 1.0f},
- {-1, ""},
-};
-static bNodeSocketTemplate cmp_node_sephsva_out[] = {
- {SOCK_FLOAT, N_("H")},
- {SOCK_FLOAT, N_("S")},
- {SOCK_FLOAT, N_("V")},
- {SOCK_FLOAT, N_("A")},
- {-1, ""},
-};
+
+namespace blender::nodes {
+
+static void cmp_node_sephsva_declare(NodeDeclarationBuilder &b)
+{
+ b.add_input<decl::Color>("Image").default_value({1.0f, 1.0f, 1.0f, 1.0f});
+ b.add_output<decl::Float>("H");
+ b.add_output<decl::Float>("S");
+ b.add_output<decl::Float>("V");
+ b.add_output<decl::Float>("A");
+
+}
+
+} // namespace blender::nodes
void register_node_type_cmp_sephsva(void)
{
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_SEPHSVA, "Separate HSVA", NODE_CLASS_CONVERTER, 0);
- node_type_socket_templates(&ntype, cmp_node_sephsva_in, cmp_node_sephsva_out);
-
+ ntype.declare = blender::nodes::cmp_node_sephsva_declare;
nodeRegisterType(&ntype);
}
/* **************** COMBINE HSVA ******************** */
-static bNodeSocketTemplate cmp_node_combhsva_in[] = {
- {SOCK_FLOAT, N_("H"), 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
- {SOCK_FLOAT, N_("S"), 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
- {SOCK_FLOAT, N_("V"), 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
- {SOCK_FLOAT, N_("A"), 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
- {-1, ""},
-};
-static bNodeSocketTemplate cmp_node_combhsva_out[] = {
- {SOCK_RGBA, N_("Image")},
- {-1, ""},
-};
+
+namespace blender::nodes {
+
+static void cmp_node_combhsva_declare(NodeDeclarationBuilder &b)
+{
+ b.add_input<decl::Float>("H").min(0.0f).max(1.0f);
+ b.add_input<decl::Float>("S").min(0.0f).max(1.0f);
+ b.add_input<decl::Float>("V").min(0.0f).max(1.0f);
+ b.add_input<decl::Float>("A").default_value(1.0f).min(0.0f).max(1.0f);
+ b.add_output<decl::Color>("Image");
+}
+
+} // namespace blender::nodes
void register_node_type_cmp_combhsva(void)
{
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_COMBHSVA, "Combine HSVA", NODE_CLASS_CONVERTER, 0);
- node_type_socket_templates(&ntype, cmp_node_combhsva_in, cmp_node_combhsva_out);
+ ntype.declare = blender::nodes::cmp_node_combhsva_declare;
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/composite/nodes/node_composite_sepcombRGBA.cc b/source/blender/nodes/composite/nodes/node_composite_sepcombRGBA.cc
index d3a021ed7ba..d119b637595 100644
--- a/source/blender/nodes/composite/nodes/node_composite_sepcombRGBA.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_sepcombRGBA.cc
@@ -24,47 +24,51 @@
#include "node_composite_util.hh"
/* **************** SEPARATE RGBA ******************** */
-static bNodeSocketTemplate cmp_node_seprgba_in[] = {
- {SOCK_RGBA, N_("Image"), 1.0f, 1.0f, 1.0f, 1.0f},
- {-1, ""},
-};
-static bNodeSocketTemplate cmp_node_seprgba_out[] = {
- {SOCK_FLOAT, N_("R")},
- {SOCK_FLOAT, N_("G")},
- {SOCK_FLOAT, N_("B")},
- {SOCK_FLOAT, N_("A")},
- {-1, ""},
-};
+namespace blender::nodes {
+
+static void cmp_node_seprgba_declare(NodeDeclarationBuilder &b)
+{
+ b.add_input<decl::Color>("Image").default_value({1.0f, 1.0f, 1.0f, 1.0f});
+ b.add_output<decl::Float>("R");
+ b.add_output<decl::Float>("G");
+ b.add_output<decl::Float>("B");
+ b.add_output<decl::Float>("A");
+
+}
+
+} // namespace blender::nodes
void register_node_type_cmp_seprgba(void)
{
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_SEPRGBA, "Separate RGBA", NODE_CLASS_CONVERTER, 0);
- node_type_socket_templates(&ntype, cmp_node_seprgba_in, cmp_node_seprgba_out);
+ ntype.declare = blender::nodes::cmp_node_seprgba_declare;
nodeRegisterType(&ntype);
}
/* **************** COMBINE RGBA ******************** */
-static bNodeSocketTemplate cmp_node_combrgba_in[] = {
- {SOCK_FLOAT, N_("R"), 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
- {SOCK_FLOAT, N_("G"), 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
- {SOCK_FLOAT, N_("B"), 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
- {SOCK_FLOAT, N_("A"), 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
- {-1, ""},
-};
-static bNodeSocketTemplate cmp_node_combrgba_out[] = {
- {SOCK_RGBA, N_("Image")},
- {-1, ""},
-};
+
+namespace blender::nodes {
+
+static void cmp_node_combrgba_declare(NodeDeclarationBuilder &b)
+{
+ b.add_input<decl::Float>("R").min(0.0f).max(1.0f);
+ b.add_input<decl::Float>("G").min(0.0f).max(1.0f);
+ b.add_input<decl::Float>("B").min(0.0f).max(1.0f);
+ b.add_input<decl::Float>("A").default_value(1.0f).min(0.0f).max(1.0f);
+ b.add_output<decl::Color>("Image");
+}
+
+} // namespace blender::nodes
void register_node_type_cmp_combrgba(void)
{
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_COMBRGBA, "Combine RGBA", NODE_CLASS_CONVERTER, 0);
- node_type_socket_templates(&ntype, cmp_node_combrgba_in, cmp_node_combrgba_out);
+ ntype.declare = blender::nodes::cmp_node_combrgba_declare;
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/composite/nodes/node_composite_sepcombYCCA.cc b/source/blender/nodes/composite/nodes/node_composite_sepcombYCCA.cc
index 2090841b3b9..526d6b4eb5b 100644
--- a/source/blender/nodes/composite/nodes/node_composite_sepcombYCCA.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_sepcombYCCA.cc
@@ -24,15 +24,19 @@
#include "node_composite_util.hh"
/* **************** SEPARATE YCCA ******************** */
-static bNodeSocketTemplate cmp_node_sepycca_in[] = {
- {SOCK_RGBA, N_("Image"), 1.0f, 1.0f, 1.0f, 1.0f}, {-1, ""}};
-static bNodeSocketTemplate cmp_node_sepycca_out[] = {
- {SOCK_FLOAT, N_("Y")},
- {SOCK_FLOAT, N_("Cb")},
- {SOCK_FLOAT, N_("Cr")},
- {SOCK_FLOAT, N_("A")},
- {-1, ""},
-};
+
+namespace blender::nodes {
+
+static void cmp_node_sepycca_declare(NodeDeclarationBuilder &b)
+{
+ b.add_input<decl::Color>("Image").default_value({1.0f, 1.0f, 1.0f, 1.0f});
+ b.add_output<decl::Float>("Y");
+ b.add_output<decl::Float>("Cb");
+ b.add_output<decl::Float>("Cr");
+ b.add_output<decl::Float>("A");
+}
+
+} // namespace blender::nodes
static void node_composit_init_mode_sepycca(bNodeTree *UNUSED(ntree), bNode *node)
{
@@ -44,24 +48,26 @@ void register_node_type_cmp_sepycca(void)
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_SEPYCCA, "Separate YCbCrA", NODE_CLASS_CONVERTER, 0);
- node_type_socket_templates(&ntype, cmp_node_sepycca_in, cmp_node_sepycca_out);
+ ntype.declare = blender::nodes::cmp_node_sepycca_declare;
node_type_init(&ntype, node_composit_init_mode_sepycca);
nodeRegisterType(&ntype);
}
/* **************** COMBINE YCCA ******************** */
-static bNodeSocketTemplate cmp_node_combycca_in[] = {
- {SOCK_FLOAT, N_("Y"), 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
- {SOCK_FLOAT, N_("Cb"), 0.5f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
- {SOCK_FLOAT, N_("Cr"), 0.5f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
- {SOCK_FLOAT, N_("A"), 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
- {-1, ""},
-};
-static bNodeSocketTemplate cmp_node_combycca_out[] = {
- {SOCK_RGBA, N_("Image")},
- {-1, ""},
-};
+
+namespace blender::nodes {
+
+static void cmp_node_combycca_declare(NodeDeclarationBuilder &b)
+{
+ b.add_input<decl::Float>("Y").min(0.0f).max(1.0f);
+ b.add_input<decl::Float>("Cb").default_value(0.5f).min(0.0f).max(1.0f);
+ b.add_input<decl::Float>("Cr").default_value(0.5f).min(0.0f).max(1.0f);
+ b.add_input<decl::Float>("A").default_value(1.0f).min(0.0f).max(1.0f);
+ b.add_output<decl::Color>("Image");
+}
+
+} // namespace blender::nodes
static void node_composit_init_mode_combycca(bNodeTree *UNUSED(ntree), bNode *node)
{
@@ -73,7 +79,7 @@ void register_node_type_cmp_combycca(void)
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_COMBYCCA, "Combine YCbCrA", NODE_CLASS_CONVERTER, 0);
- node_type_socket_templates(&ntype, cmp_node_combycca_in, cmp_node_combycca_out);
+ ntype.declare = blender::nodes::cmp_node_combycca_declare;
node_type_init(&ntype, node_composit_init_mode_combycca);
nodeRegisterType(&ntype);
diff --git a/source/blender/nodes/composite/nodes/node_composite_sepcombYUVA.cc b/source/blender/nodes/composite/nodes/node_composite_sepcombYUVA.cc
index 59982b81468..4619b0c97f1 100644
--- a/source/blender/nodes/composite/nodes/node_composite_sepcombYUVA.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_sepcombYUVA.cc
@@ -24,45 +24,51 @@
#include "node_composite_util.hh"
/* **************** SEPARATE YUVA ******************** */
-static bNodeSocketTemplate cmp_node_sepyuva_in[] = {
- {SOCK_RGBA, N_("Image"), 1.0f, 1.0f, 1.0f, 1.0f}, {-1, ""}};
-static bNodeSocketTemplate cmp_node_sepyuva_out[] = {
- {SOCK_FLOAT, N_("Y")},
- {SOCK_FLOAT, N_("U")},
- {SOCK_FLOAT, N_("V")},
- {SOCK_FLOAT, N_("A")},
- {-1, ""},
-};
+
+namespace blender::nodes {
+
+static void cmp_node_sepyuva_declare(NodeDeclarationBuilder &b)
+{
+ b.add_input<decl::Color>("Image").default_value({1.0f, 1.0f, 1.0f, 1.0f});
+ b.add_output<decl::Float>("Y");
+ b.add_output<decl::Float>("U");
+ b.add_output<decl::Float>("V");
+ b.add_output<decl::Float>("A");
+}
+
+} // namespace blender::nodes
void register_node_type_cmp_sepyuva(void)
{
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_SEPYUVA, "Separate YUVA", NODE_CLASS_CONVERTER, 0);
- node_type_socket_templates(&ntype, cmp_node_sepyuva_in, cmp_node_sepyuva_out);
+ ntype.declare = blender::nodes::cmp_node_sepyuva_declare;
nodeRegisterType(&ntype);
}
/* **************** COMBINE YUVA ******************** */
-static bNodeSocketTemplate cmp_node_combyuva_in[] = {
- {SOCK_FLOAT, N_("Y"), 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
- {SOCK_FLOAT, N_("U"), 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
- {SOCK_FLOAT, N_("V"), 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
- {SOCK_FLOAT, N_("A"), 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
- {-1, ""},
-};
-static bNodeSocketTemplate cmp_node_combyuva_out[] = {
- {SOCK_RGBA, N_("Image")},
- {-1, ""},
-};
+
+namespace blender::nodes {
+
+static void cmp_node_combyuva_declare(NodeDeclarationBuilder &b)
+{
+ b.add_input<decl::Float>("Y").min(0.0f).max(1.0f);
+ b.add_input<decl::Float>("U").min(0.0f).max(1.0f);
+ b.add_input<decl::Float>("V").min(0.0f).max(1.0f);
+ b.add_input<decl::Float>("A").default_value(1.0f).min(0.0f).max(1.0f);
+ b.add_output<decl::Color>("Image");
+}
+
+} // namespace blender::nodes
void register_node_type_cmp_combyuva(void)
{
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_COMBYUVA, "Combine YUVA", NODE_CLASS_CONVERTER, 0);
- node_type_socket_templates(&ntype, cmp_node_combyuva_in, cmp_node_combyuva_out);
+ ntype.declare = blender::nodes::cmp_node_combyuva_declare;
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/composite/nodes/node_composite_setalpha.cc b/source/blender/nodes/composite/nodes/node_composite_setalpha.cc
index a2089bd0913..5d2490b0c81 100644
--- a/source/blender/nodes/composite/nodes/node_composite_setalpha.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_setalpha.cc
@@ -24,15 +24,17 @@
#include "node_composite_util.hh"
/* **************** SET ALPHA ******************** */
-static bNodeSocketTemplate cmp_node_setalpha_in[] = {
- {SOCK_RGBA, N_("Image"), 0.0f, 0.0f, 0.0f, 1.0f},
- {SOCK_FLOAT, N_("Alpha"), 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE},
- {-1, ""},
-};
-static bNodeSocketTemplate cmp_node_setalpha_out[] = {
- {SOCK_RGBA, N_("Image")},
- {-1, ""},
-};
+
+namespace blender::nodes {
+
+static void cmp_node_setalpha_declare(NodeDeclarationBuilder &b)
+{
+ b.add_input<decl::Color>("Image").default_value({1.0f, 1.0f, 1.0f, 1.0f});
+ b.add_input<decl::Float>("Alpha").default_value(1.0f).min(0.0f).max(1.0f);
+ b.add_output<decl::Color>("Image");
+}
+
+} // namespace blender::nodes
static void node_composit_init_setalpha(bNodeTree *UNUSED(ntree), bNode *node)
{
@@ -46,7 +48,7 @@ void register_node_type_cmp_setalpha(void)
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_SETALPHA, "Set Alpha", NODE_CLASS_CONVERTER, 0);
- node_type_socket_templates(&ntype, cmp_node_setalpha_in, cmp_node_setalpha_out);
+ ntype.declare = blender::nodes::cmp_node_setalpha_declare;
node_type_init(&ntype, node_composit_init_setalpha);
node_type_storage(
&ntype, "NodeSetAlpha", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/composite/nodes/node_composite_valToRgb.cc b/source/blender/nodes/composite/nodes/node_composite_valToRgb.cc
index ece52dea269..ba98ee12f30 100644
--- a/source/blender/nodes/composite/nodes/node_composite_valToRgb.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_valToRgb.cc
@@ -24,15 +24,17 @@
#include "node_composite_util.hh"
/* **************** VALTORGB ******************** */
-static bNodeSocketTemplate cmp_node_valtorgb_in[] = {
- {SOCK_FLOAT, N_("Fac"), 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
- {-1, ""},
-};
-static bNodeSocketTemplate cmp_node_valtorgb_out[] = {
- {SOCK_RGBA, N_("Image")},
- {SOCK_FLOAT, N_("Alpha")},
- {-1, ""},
-};
+
+namespace blender::nodes {
+
+static void cmp_node_valtorgb_declare(NodeDeclarationBuilder &b)
+{
+ b.add_input<decl::Float>("Fac").default_value(0.5f).min(0.0f).max(1.0f).subtype(PROP_FACTOR);
+ b.add_output<decl::Color>("Image");
+ b.add_output<decl::Color>("Alpha");
+}
+
+} // namespace blender::nodes
static void node_composit_init_valtorgb(bNodeTree *UNUSED(ntree), bNode *node)
{
@@ -44,7 +46,7 @@ void register_node_type_cmp_valtorgb(void)
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_VALTORGB, "ColorRamp", NODE_CLASS_CONVERTER, 0);
- node_type_socket_templates(&ntype, cmp_node_valtorgb_in, cmp_node_valtorgb_out);
+ ntype.declare = blender::nodes::cmp_node_valtorgb_declare;
node_type_size(&ntype, 240, 200, 320);
node_type_init(&ntype, node_composit_init_valtorgb);
node_type_storage(&ntype, "ColorBand", node_free_standard_storage, node_copy_standard_storage);
@@ -53,21 +55,23 @@ void register_node_type_cmp_valtorgb(void)
}
/* **************** RGBTOBW ******************** */
-static bNodeSocketTemplate cmp_node_rgbtobw_in[] = {
- {SOCK_RGBA, N_("Image"), 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- {-1, ""},
-};
-static bNodeSocketTemplate cmp_node_rgbtobw_out[] = {
- {SOCK_FLOAT, N_("Val"), 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- {-1, ""},
-};
+
+namespace blender::nodes {
+
+static void cmp_node_rgbtobw_declare(NodeDeclarationBuilder &b)
+{
+ b.add_input<decl::Color>("Image").default_value({0.8f, 0.8f, 0.8f, 1.0f});
+ b.add_output<decl::Color>("Val");
+}
+
+} // namespace blender::nodes
void register_node_type_cmp_rgbtobw(void)
{
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_RGBTOBW, "RGB to BW", NODE_CLASS_CONVERTER, 0);
- node_type_socket_templates(&ntype, cmp_node_rgbtobw_in, cmp_node_rgbtobw_out);
+ ntype.declare = blender::nodes::cmp_node_rgbtobw_declare;
node_type_size_preset(&ntype, NODE_SIZE_SMALL);
nodeRegisterType(&ntype);