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:
Diffstat (limited to 'source/blender/nodes/composite/nodes')
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_alphaOver.cc (renamed from source/blender/nodes/composite/nodes/node_composite_alphaOver.c)26
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_antialiasing.cc (renamed from source/blender/nodes/composite/nodes/node_composite_antialiasing.c)5
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_bilateralblur.cc (renamed from source/blender/nodes/composite/nodes/node_composite_bilateralblur.c)6
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_blur.cc (renamed from source/blender/nodes/composite/nodes/node_composite_blur.c)4
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_bokehblur.cc (renamed from source/blender/nodes/composite/nodes/node_composite_bokehblur.c)2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_bokehimage.cc (renamed from source/blender/nodes/composite/nodes/node_composite_bokehimage.c)18
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_boxmask.cc (renamed from source/blender/nodes/composite/nodes/node_composite_boxmask.c)4
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_brightness.cc (renamed from source/blender/nodes/composite/nodes/node_composite_brightness.c)27
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_channelMatte.cc (renamed from source/blender/nodes/composite/nodes/node_composite_channelMatte.c)4
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_chromaMatte.cc (renamed from source/blender/nodes/composite/nodes/node_composite_chromaMatte.c)4
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_colorMatte.cc (renamed from source/blender/nodes/composite/nodes/node_composite_colorMatte.c)4
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_colorSpill.cc (renamed from source/blender/nodes/composite/nodes/node_composite_colorSpill.c)4
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_colorbalance.cc (renamed from source/blender/nodes/composite/nodes/node_composite_colorbalance.c)37
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_colorcorrection.cc (renamed from source/blender/nodes/composite/nodes/node_composite_colorcorrection.c)30
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_common.cc (renamed from source/blender/nodes/composite/nodes/node_composite_common.c)12
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_composite.cc (renamed from source/blender/nodes/composite/nodes/node_composite_composite.c)23
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_cornerpin.cc (renamed from source/blender/nodes/composite/nodes/node_composite_cornerpin.c)2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_crop.cc (renamed from source/blender/nodes/composite/nodes/node_composite_crop.c)4
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_cryptomatte.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_curves.cc (renamed from source/blender/nodes/composite/nodes/node_composite_curves.c)43
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_defocus.cc (renamed from source/blender/nodes/composite/nodes/node_composite_defocus.c)10
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_denoise.cc (renamed from source/blender/nodes/composite/nodes/node_composite_denoise.c)4
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_despeckle.cc (renamed from source/blender/nodes/composite/nodes/node_composite_despeckle.c)2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_diffMatte.cc (renamed from source/blender/nodes/composite/nodes/node_composite_diffMatte.c)4
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_dilate.cc (renamed from source/blender/nodes/composite/nodes/node_composite_dilate.c)5
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_directionalblur.cc (renamed from source/blender/nodes/composite/nodes/node_composite_directionalblur.c)4
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_displace.cc (renamed from source/blender/nodes/composite/nodes/node_composite_displace.c)2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_distanceMatte.cc (renamed from source/blender/nodes/composite/nodes/node_composite_distanceMatte.c)4
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_doubleEdgeMask.cc (renamed from source/blender/nodes/composite/nodes/node_composite_doubleEdgeMask.c)2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_ellipsemask.cc (renamed from source/blender/nodes/composite/nodes/node_composite_ellipsemask.c)5
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_exposure.cc (renamed from source/blender/nodes/composite/nodes/node_composite_exposure.c)23
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_filter.cc (renamed from source/blender/nodes/composite/nodes/node_composite_filter.c)2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_flip.cc (renamed from source/blender/nodes/composite/nodes/node_composite_flip.c)2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_gamma.cc (renamed from source/blender/nodes/composite/nodes/node_composite_gamma.c)24
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_glare.cc (renamed from source/blender/nodes/composite/nodes/node_composite_glare.c)4
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_hueSatVal.cc (renamed from source/blender/nodes/composite/nodes/node_composite_hueSatVal.c)34
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_huecorrect.cc (renamed from source/blender/nodes/composite/nodes/node_composite_huecorrect.c)29
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_idMask.cc (renamed from source/blender/nodes/composite/nodes/node_composite_idMask.c)21
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_image.cc (renamed from source/blender/nodes/composite/nodes/node_composite_image.c)108
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_inpaint.cc (renamed from source/blender/nodes/composite/nodes/node_composite_inpaint.c)2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_invert.cc (renamed from source/blender/nodes/composite/nodes/node_composite_invert.c)19
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_keying.cc (renamed from source/blender/nodes/composite/nodes/node_composite_keying.c)7
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_keyingscreen.cc (renamed from source/blender/nodes/composite/nodes/node_composite_keyingscreen.c)10
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_lensdist.cc (renamed from source/blender/nodes/composite/nodes/node_composite_lensdist.c)4
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_levels.cc (renamed from source/blender/nodes/composite/nodes/node_composite_levels.c)23
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_lummaMatte.cc (renamed from source/blender/nodes/composite/nodes/node_composite_lummaMatte.c)4
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_mapRange.cc (renamed from source/blender/nodes/composite/nodes/node_composite_mapRange.c)2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_mapUV.cc (renamed from source/blender/nodes/composite/nodes/node_composite_mapUV.c)2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_mapValue.cc (renamed from source/blender/nodes/composite/nodes/node_composite_mapValue.c)2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_mask.cc (renamed from source/blender/nodes/composite/nodes/node_composite_mask.c)19
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_math.cc (renamed from source/blender/nodes/composite/nodes/node_composite_math.c)21
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_mixrgb.cc (renamed from source/blender/nodes/composite/nodes/node_composite_mixrgb.c)26
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_movieclip.cc (renamed from source/blender/nodes/composite/nodes/node_composite_movieclip.c)31
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_moviedistortion.cc (renamed from source/blender/nodes/composite/nodes/node_composite_moviedistortion.c)12
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_normal.cc (renamed from source/blender/nodes/composite/nodes/node_composite_normal.c)2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_normalize.cc (renamed from source/blender/nodes/composite/nodes/node_composite_normalize.c)2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_outputFile.cc (renamed from source/blender/nodes/composite/nodes/node_composite_outputFile.c)81
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_pixelate.cc (renamed from source/blender/nodes/composite/nodes/node_composite_pixelate.c)2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_planetrackdeform.cc (renamed from source/blender/nodes/composite/nodes/node_composite_planetrackdeform.c)6
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_posterize.cc (renamed from source/blender/nodes/composite/nodes/node_composite_posterize.c)2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_premulkey.cc (renamed from source/blender/nodes/composite/nodes/node_composite_premulkey.c)21
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_rgb.cc (renamed from source/blender/nodes/composite/nodes/node_composite_rgb.c)17
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_rotate.cc (renamed from source/blender/nodes/composite/nodes/node_composite_rotate.c)2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_scale.cc (renamed from source/blender/nodes/composite/nodes/node_composite_scale.c)4
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_sepcombHSVA.cc (renamed from source/blender/nodes/composite/nodes/node_composite_sepcombHSVA.c)55
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_sepcombRGBA.cc (renamed from source/blender/nodes/composite/nodes/node_composite_sepcombRGBA.c)53
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_sepcombYCCA.cc (renamed from source/blender/nodes/composite/nodes/node_composite_sepcombYCCA.c)52
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_sepcombYUVA.cc (renamed from source/blender/nodes/composite/nodes/node_composite_sepcombYUVA.c)52
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_setalpha.cc (renamed from source/blender/nodes/composite/nodes/node_composite_setalpha.c)26
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_splitViewer.cc (renamed from source/blender/nodes/composite/nodes/node_composite_splitViewer.c)23
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_stabilize2d.cc (renamed from source/blender/nodes/composite/nodes/node_composite_stabilize2d.c)4
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_sunbeams.cc (renamed from source/blender/nodes/composite/nodes/node_composite_sunbeams.c)5
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_switch.cc (renamed from source/blender/nodes/composite/nodes/node_composite_switch.c)2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_switchview.cc (renamed from source/blender/nodes/composite/nodes/node_composite_switchview.c)37
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_texture.cc (renamed from source/blender/nodes/composite/nodes/node_composite_texture.c)30
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_tonemap.cc (renamed from source/blender/nodes/composite/nodes/node_composite_tonemap.c)23
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_trackpos.cc (renamed from source/blender/nodes/composite/nodes/node_composite_trackpos.c)23
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_transform.cc (renamed from source/blender/nodes/composite/nodes/node_composite_transform.c)2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_translate.cc (renamed from source/blender/nodes/composite/nodes/node_composite_translate.c)5
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_valToRgb.cc (renamed from source/blender/nodes/composite/nodes/node_composite_valToRgb.c)44
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_value.cc (renamed from source/blender/nodes/composite/nodes/node_composite_value.c)17
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_vecBlur.cc (renamed from source/blender/nodes/composite/nodes/node_composite_vecBlur.c)6
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_viewer.cc (renamed from source/blender/nodes/composite/nodes/node_composite_viewer.c)24
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_zcombine.cc (renamed from source/blender/nodes/composite/nodes/node_composite_zcombine.c)32
84 files changed, 747 insertions, 641 deletions
diff --git a/source/blender/nodes/composite/nodes/node_composite_alphaOver.c b/source/blender/nodes/composite/nodes/node_composite_alphaOver.cc
index 7a08bd51575..6210d946bc7 100644
--- a/source/blender/nodes/composite/nodes/node_composite_alphaOver.c
+++ b/source/blender/nodes/composite/nodes/node_composite_alphaOver.cc
@@ -21,19 +21,21 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* **************** ALPHAOVER ******************** */
-static bNodeSocketTemplate cmp_node_alphaover_in[] = {
- {SOCK_FLOAT, N_("Fac"), 1.0f, 0.0f, 1.0f, 1.0f, 0.0f, 1.0f, PROP_FACTOR},
- {SOCK_RGBA, N_("Image"), 1.0f, 1.0f, 1.0f, 1.0f},
- {SOCK_RGBA, N_("Image"), 1.0f, 1.0f, 1.0f, 1.0f},
- {-1, ""},
-};
-static bNodeSocketTemplate cmp_node_alphaover_out[] = {
- {SOCK_RGBA, N_("Image")},
- {-1, ""},
-};
+
+namespace blender::nodes {
+
+static void cmp_node_alphaover_declare(NodeDeclarationBuilder &b)
+{
+ b.add_input<decl::Float>("Fac").default_value(1.0f).min(0.0f).max(1.0f).subtype(PROP_FACTOR);
+ b.add_input<decl::Color>("Image").default_value({1.0f, 1.0f, 1.0f, 1.0f});
+ b.add_input<decl::Color>("Image", "Image_001").default_value({1.0f, 1.0f, 1.0f, 1.0f});
+ b.add_output<decl::Color>("Image");
+}
+
+} // namespace blender::nodes
static void node_alphaover_init(bNodeTree *UNUSED(ntree), bNode *node)
{
@@ -45,7 +47,7 @@ void register_node_type_cmp_alphaover(void)
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_ALPHAOVER, "Alpha Over", NODE_CLASS_OP_COLOR, 0);
- node_type_socket_templates(&ntype, cmp_node_alphaover_in, cmp_node_alphaover_out);
+ ntype.declare = blender::nodes::cmp_node_alphaover_declare;
node_type_init(&ntype, node_alphaover_init);
node_type_storage(
&ntype, "NodeTwoFloats", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/composite/nodes/node_composite_antialiasing.c b/source/blender/nodes/composite/nodes/node_composite_antialiasing.cc
index a5906c31093..23e63b9a53b 100644
--- a/source/blender/nodes/composite/nodes/node_composite_antialiasing.c
+++ b/source/blender/nodes/composite/nodes/node_composite_antialiasing.cc
@@ -23,7 +23,7 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* **************** Anti-Aliasing (SMAA 1x) ******************** */
@@ -34,7 +34,8 @@ static bNodeSocketTemplate cmp_node_antialiasing_out[] = {{SOCK_RGBA, N_("Image"
static void node_composit_init_antialiasing(bNodeTree *UNUSED(ntree), bNode *node)
{
- NodeAntiAliasingData *data = MEM_callocN(sizeof(NodeAntiAliasingData), "node antialiasing data");
+ NodeAntiAliasingData *data = (NodeAntiAliasingData *)MEM_callocN(sizeof(NodeAntiAliasingData),
+ "node antialiasing data");
data->threshold = CMP_DEFAULT_SMAA_THRESHOLD;
data->contrast_limit = CMP_DEFAULT_SMAA_CONTRAST_LIMIT;
diff --git a/source/blender/nodes/composite/nodes/node_composite_bilateralblur.c b/source/blender/nodes/composite/nodes/node_composite_bilateralblur.cc
index 270a137280c..3e724d17a10 100644
--- a/source/blender/nodes/composite/nodes/node_composite_bilateralblur.c
+++ b/source/blender/nodes/composite/nodes/node_composite_bilateralblur.cc
@@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* **************** BILATERALBLUR ******************** */
static bNodeSocketTemplate cmp_node_bilateralblur_in[] = {
@@ -36,8 +36,8 @@ static bNodeSocketTemplate cmp_node_bilateralblur_out[] = {
static void node_composit_init_bilateralblur(bNodeTree *UNUSED(ntree), bNode *node)
{
- NodeBilateralBlurData *nbbd = MEM_callocN(sizeof(NodeBilateralBlurData),
- "node bilateral blur data");
+ NodeBilateralBlurData *nbbd = (NodeBilateralBlurData *)MEM_callocN(sizeof(NodeBilateralBlurData),
+ "node bilateral blur data");
node->storage = nbbd;
nbbd->iter = 1;
nbbd->sigma_color = 0.3;
diff --git a/source/blender/nodes/composite/nodes/node_composite_blur.c b/source/blender/nodes/composite/nodes/node_composite_blur.cc
index 92379f4552b..c5c0c21929e 100644
--- a/source/blender/nodes/composite/nodes/node_composite_blur.c
+++ b/source/blender/nodes/composite/nodes/node_composite_blur.cc
@@ -22,7 +22,7 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* **************** BLUR ******************** */
static bNodeSocketTemplate cmp_node_blur_in[] = {
@@ -33,7 +33,7 @@ static bNodeSocketTemplate cmp_node_blur_out[] = {{SOCK_RGBA, N_("Image")}, {-1,
static void node_composit_init_blur(bNodeTree *UNUSED(ntree), bNode *node)
{
- NodeBlurData *data = MEM_callocN(sizeof(NodeBlurData), "node blur data");
+ NodeBlurData *data = (NodeBlurData *)MEM_callocN(sizeof(NodeBlurData), "node blur data");
data->filtertype = R_FILTER_GAUSS;
node->storage = data;
}
diff --git a/source/blender/nodes/composite/nodes/node_composite_bokehblur.c b/source/blender/nodes/composite/nodes/node_composite_bokehblur.cc
index d724a83e5a2..f130a642e20 100644
--- a/source/blender/nodes/composite/nodes/node_composite_bokehblur.c
+++ b/source/blender/nodes/composite/nodes/node_composite_bokehblur.cc
@@ -22,7 +22,7 @@
* \ingroup cmpnodes
*/
-#include "../node_composite_util.h"
+#include "../node_composite_util.hh"
/* **************** BLUR ******************** */
static bNodeSocketTemplate cmp_node_bokehblur_in[] = {
diff --git a/source/blender/nodes/composite/nodes/node_composite_bokehimage.c b/source/blender/nodes/composite/nodes/node_composite_bokehimage.cc
index 744aba417be..3a4bf94d256 100644
--- a/source/blender/nodes/composite/nodes/node_composite_bokehimage.c
+++ b/source/blender/nodes/composite/nodes/node_composite_bokehimage.cc
@@ -21,18 +21,22 @@
* \ingroup cmpnodes
*/
-#include "../node_composite_util.h"
+#include "../node_composite_util.hh"
/* **************** Bokeh image Tools ******************** */
-static bNodeSocketTemplate cmp_node_bokehimage_out[] = {
- {SOCK_RGBA, N_("Image"), 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- {-1, ""},
-};
+namespace blender::nodes {
+
+static void cmp_node_bokehimage_declare(NodeDeclarationBuilder &b)
+{
+ b.add_output<decl::Color>("Image");
+}
+
+} // namespace blender::nodes
static void node_composit_init_bokehimage(bNodeTree *UNUSED(ntree), bNode *node)
{
- NodeBokehImage *data = MEM_callocN(sizeof(NodeBokehImage), "NodeBokehImage");
+ NodeBokehImage *data = (NodeBokehImage *)MEM_callocN(sizeof(NodeBokehImage), "NodeBokehImage");
data->angle = 0.0f;
data->flaps = 5;
data->rounding = 0.0f;
@@ -46,7 +50,7 @@ void register_node_type_cmp_bokehimage(void)
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_BOKEHIMAGE, "Bokeh Image", NODE_CLASS_INPUT, NODE_PREVIEW);
- node_type_socket_templates(&ntype, NULL, cmp_node_bokehimage_out);
+ ntype.declare = blender::nodes::cmp_node_bokehimage_declare;
node_type_init(&ntype, node_composit_init_bokehimage);
node_type_storage(
&ntype, "NodeBokehImage", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/composite/nodes/node_composite_boxmask.c b/source/blender/nodes/composite/nodes/node_composite_boxmask.cc
index e646b9a9adf..cdf96065f97 100644
--- a/source/blender/nodes/composite/nodes/node_composite_boxmask.c
+++ b/source/blender/nodes/composite/nodes/node_composite_boxmask.cc
@@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
-#include "../node_composite_util.h"
+#include "../node_composite_util.hh"
/* **************** SCALAR MATH ******************** */
static bNodeSocketTemplate cmp_node_boxmask_in[] = {
@@ -34,7 +34,7 @@ static bNodeSocketTemplate cmp_node_boxmask_out[] = {
static void node_composit_init_boxmask(bNodeTree *UNUSED(ntree), bNode *node)
{
- NodeBoxMask *data = MEM_callocN(sizeof(NodeBoxMask), "NodeBoxMask");
+ NodeBoxMask *data = (NodeBoxMask *)MEM_callocN(sizeof(NodeBoxMask), "NodeBoxMask");
data->x = 0.5;
data->y = 0.5;
data->width = 0.2;
diff --git a/source/blender/nodes/composite/nodes/node_composite_brightness.c b/source/blender/nodes/composite/nodes/node_composite_brightness.cc
index 5beecb55665..ad4b09c69d0 100644
--- a/source/blender/nodes/composite/nodes/node_composite_brightness.c
+++ b/source/blender/nodes/composite/nodes/node_composite_brightness.cc
@@ -21,20 +21,21 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
-/* **************** Brigh and contrsast ******************** */
+/* **************** Bright and Contrast ******************** */
-static bNodeSocketTemplate cmp_node_brightcontrast_in[] = {
- {SOCK_RGBA, N_("Image"), 1.0f, 1.0f, 1.0f, 1.0f},
- {SOCK_FLOAT, N_("Bright"), 0.0f, 0.0f, 0.0f, 0.0f, -100.0f, 100.0f, PROP_NONE},
- {SOCK_FLOAT, N_("Contrast"), 0.0f, 0.0f, 0.0f, 0.0f, -100.0f, 100.0f, PROP_NONE},
- {-1, ""},
-};
-static bNodeSocketTemplate cmp_node_brightcontrast_out[] = {
- {SOCK_RGBA, N_("Image")},
- {-1, ""},
-};
+namespace blender::nodes {
+
+static void cmp_node_brightcontrast_declare(NodeDeclarationBuilder &b)
+{
+ b.add_input<decl::Color>("Image").default_value({1.0f, 1.0f, 1.0f, 1.0f});
+ b.add_input<decl::Float>("Bright").min(-100.0f).max(100.0f);
+ b.add_input<decl::Float>("Contrast").min(-100.0f).max(100.0f);
+ b.add_output<decl::Color>("Image");
+}
+
+} // namespace blender::nodes
static void node_composit_init_brightcontrast(bNodeTree *UNUSED(ntree), bNode *node)
{
@@ -46,7 +47,7 @@ void register_node_type_cmp_brightcontrast(void)
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_BRIGHTCONTRAST, "Bright/Contrast", NODE_CLASS_OP_COLOR, 0);
- node_type_socket_templates(&ntype, cmp_node_brightcontrast_in, cmp_node_brightcontrast_out);
+ ntype.declare = blender::nodes::cmp_node_brightcontrast_declare;
node_type_init(&ntype, node_composit_init_brightcontrast);
nodeRegisterType(&ntype);
diff --git a/source/blender/nodes/composite/nodes/node_composite_channelMatte.c b/source/blender/nodes/composite/nodes/node_composite_channelMatte.cc
index 9912c10b368..e211bc45b17 100644
--- a/source/blender/nodes/composite/nodes/node_composite_channelMatte.c
+++ b/source/blender/nodes/composite/nodes/node_composite_channelMatte.cc
@@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* ******************* Channel Matte Node ********************************* */
static bNodeSocketTemplate cmp_node_channel_matte_in[] = {
@@ -37,7 +37,7 @@ static bNodeSocketTemplate cmp_node_channel_matte_out[] = {
static void node_composit_init_channel_matte(bNodeTree *UNUSED(ntree), bNode *node)
{
- NodeChroma *c = MEM_callocN(sizeof(NodeChroma), "node chroma");
+ NodeChroma *c = (NodeChroma *)MEM_callocN(sizeof(NodeChroma), "node chroma");
node->storage = c;
c->t1 = 1.0f;
c->t2 = 0.0f;
diff --git a/source/blender/nodes/composite/nodes/node_composite_chromaMatte.c b/source/blender/nodes/composite/nodes/node_composite_chromaMatte.cc
index 705566df35a..990778160df 100644
--- a/source/blender/nodes/composite/nodes/node_composite_chromaMatte.c
+++ b/source/blender/nodes/composite/nodes/node_composite_chromaMatte.cc
@@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* ******************* Chroma Key ********************************************************** */
static bNodeSocketTemplate cmp_node_chroma_in[] = {
@@ -38,7 +38,7 @@ static bNodeSocketTemplate cmp_node_chroma_out[] = {
static void node_composit_init_chroma_matte(bNodeTree *UNUSED(ntree), bNode *node)
{
- NodeChroma *c = MEM_callocN(sizeof(NodeChroma), "node chroma");
+ NodeChroma *c = (NodeChroma *)MEM_callocN(sizeof(NodeChroma), "node chroma");
node->storage = c;
c->t1 = DEG2RADF(30.0f);
c->t2 = DEG2RADF(10.0f);
diff --git a/source/blender/nodes/composite/nodes/node_composite_colorMatte.c b/source/blender/nodes/composite/nodes/node_composite_colorMatte.cc
index f5cf7bcbf22..fc9a0075b14 100644
--- a/source/blender/nodes/composite/nodes/node_composite_colorMatte.c
+++ b/source/blender/nodes/composite/nodes/node_composite_colorMatte.cc
@@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* ******************* Color Key ********************************************************** */
static bNodeSocketTemplate cmp_node_color_in[] = {
@@ -38,7 +38,7 @@ static bNodeSocketTemplate cmp_node_color_out[] = {
static void node_composit_init_color_matte(bNodeTree *UNUSED(ntree), bNode *node)
{
- NodeChroma *c = MEM_callocN(sizeof(NodeChroma), "node color");
+ NodeChroma *c = (NodeChroma *)MEM_callocN(sizeof(NodeChroma), "node color");
node->storage = c;
c->t1 = 0.01f;
c->t2 = 0.1f;
diff --git a/source/blender/nodes/composite/nodes/node_composite_colorSpill.c b/source/blender/nodes/composite/nodes/node_composite_colorSpill.cc
index 8ff4bcdced3..7bdc2e8289e 100644
--- a/source/blender/nodes/composite/nodes/node_composite_colorSpill.c
+++ b/source/blender/nodes/composite/nodes/node_composite_colorSpill.cc
@@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* ******************* Color Spill Suppression ********************************* */
static bNodeSocketTemplate cmp_node_color_spill_in[] = {
@@ -37,7 +37,7 @@ static bNodeSocketTemplate cmp_node_color_spill_out[] = {
static void node_composit_init_color_spill(bNodeTree *UNUSED(ntree), bNode *node)
{
- NodeColorspill *ncs = MEM_callocN(sizeof(NodeColorspill), "node colorspill");
+ NodeColorspill *ncs = (NodeColorspill *)MEM_callocN(sizeof(NodeColorspill), "node colorspill");
node->storage = ncs;
node->custom1 = 2; /* green channel */
node->custom2 = 0; /* simple limit algorithm */
diff --git a/source/blender/nodes/composite/nodes/node_composite_colorbalance.c b/source/blender/nodes/composite/nodes/node_composite_colorbalance.cc
index 0525229697a..440e37fe741 100644
--- a/source/blender/nodes/composite/nodes/node_composite_colorbalance.c
+++ b/source/blender/nodes/composite/nodes/node_composite_colorbalance.cc
@@ -21,19 +21,20 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* ******************* Color Balance ********************************* */
-static bNodeSocketTemplate cmp_node_colorbalance_in[] = {
- {SOCK_FLOAT, N_("Fac"), 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_FACTOR},
- {SOCK_RGBA, N_("Image"), 1.0f, 1.0f, 1.0f, 1.0f},
- {-1, ""},
-};
-static bNodeSocketTemplate cmp_node_colorbalance_out[] = {
- {SOCK_RGBA, N_("Image")},
- {-1, ""},
-};
+namespace blender::nodes {
+
+static void cmp_node_colorbalance_declare(NodeDeclarationBuilder &b)
+{
+ b.add_input<decl::Float>("Fac").default_value(1.0f).min(0.0f).max(1.0f).subtype(PROP_FACTOR);
+ 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
/* Sync functions update formula parameters for other modes, such that the result is comparable.
* Note that the results are not exactly the same due to differences in color handling
@@ -43,10 +44,9 @@ static bNodeSocketTemplate cmp_node_colorbalance_out[] = {
void ntreeCompositColorBalanceSyncFromLGG(bNodeTree *UNUSED(ntree), bNode *node)
{
- NodeColorBalance *n = node->storage;
- int c;
+ NodeColorBalance *n = (NodeColorBalance *)node->storage;
- for (c = 0; c < 3; c++) {
+ for (int c = 0; c < 3; c++) {
n->slope[c] = (2.0f - n->lift[c]) * n->gain[c];
n->offset[c] = (n->lift[c] - 1.0f) * n->gain[c];
n->power[c] = (n->gamma[c] != 0.0f) ? 1.0f / n->gamma[c] : 1000000.0f;
@@ -55,10 +55,9 @@ void ntreeCompositColorBalanceSyncFromLGG(bNodeTree *UNUSED(ntree), bNode *node)
void ntreeCompositColorBalanceSyncFromCDL(bNodeTree *UNUSED(ntree), bNode *node)
{
- NodeColorBalance *n = node->storage;
- int c;
+ NodeColorBalance *n = (NodeColorBalance *)node->storage;
- for (c = 0; c < 3; c++) {
+ for (int c = 0; c < 3; c++) {
float d = n->slope[c] + n->offset[c];
n->lift[c] = (d != 0.0f ? n->slope[c] + 2.0f * n->offset[c] / d : 0.0f);
n->gain[c] = d;
@@ -68,7 +67,8 @@ void ntreeCompositColorBalanceSyncFromCDL(bNodeTree *UNUSED(ntree), bNode *node)
static void node_composit_init_colorbalance(bNodeTree *UNUSED(ntree), bNode *node)
{
- NodeColorBalance *n = node->storage = MEM_callocN(sizeof(NodeColorBalance), "node colorbalance");
+ NodeColorBalance *n = (NodeColorBalance *)MEM_callocN(sizeof(NodeColorBalance),
+ "node colorbalance");
n->lift[0] = n->lift[1] = n->lift[2] = 1.0f;
n->gamma[0] = n->gamma[1] = n->gamma[2] = 1.0f;
@@ -77,6 +77,7 @@ static void node_composit_init_colorbalance(bNodeTree *UNUSED(ntree), bNode *nod
n->slope[0] = n->slope[1] = n->slope[2] = 1.0f;
n->offset[0] = n->offset[1] = n->offset[2] = 0.0f;
n->power[0] = n->power[1] = n->power[2] = 1.0f;
+ node->storage = n;
}
void register_node_type_cmp_colorbalance(void)
@@ -84,7 +85,7 @@ void register_node_type_cmp_colorbalance(void)
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_COLORBALANCE, "Color Balance", NODE_CLASS_OP_COLOR, 0);
- node_type_socket_templates(&ntype, cmp_node_colorbalance_in, cmp_node_colorbalance_out);
+ ntype.declare = blender::nodes::cmp_node_colorbalance_declare;
node_type_size(&ntype, 400, 200, 400);
node_type_init(&ntype, node_composit_init_colorbalance);
node_type_storage(
diff --git a/source/blender/nodes/composite/nodes/node_composite_colorcorrection.c b/source/blender/nodes/composite/nodes/node_composite_colorcorrection.cc
index 45d39f8be8d..0682c66f1e8 100644
--- a/source/blender/nodes/composite/nodes/node_composite_colorcorrection.c
+++ b/source/blender/nodes/composite/nodes/node_composite_colorcorrection.cc
@@ -21,24 +21,25 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
-/* ******************* Color Balance ********************************* */
-static bNodeSocketTemplate cmp_node_colorcorrection_in[] = {
- {SOCK_RGBA, N_("Image"), 1.0f, 1.0f, 1.0f, 1.0f},
- {SOCK_FLOAT, N_("Mask"), 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
- {-1, ""},
-};
+/* ******************* Color Correction ********************************* */
-static bNodeSocketTemplate cmp_node_colorcorrection_out[] = {
- {SOCK_RGBA, N_("Image")},
- {-1, ""},
-};
+namespace blender::nodes {
+
+static void cmp_node_colorcorrection_declare(NodeDeclarationBuilder &b)
+{
+ b.add_input<decl::Color>("Image").default_value({1.0f, 1.0f, 1.0f, 1.0f});
+ b.add_input<decl::Float>("Mask").default_value(1.0f).min(0.0f).max(1.0f);
+ b.add_output<decl::Color>("Image");
+}
+
+} // namespace blender::nodes
static void node_composit_init_colorcorrection(bNodeTree *UNUSED(ntree), bNode *node)
{
- NodeColorCorrection *n = node->storage = MEM_callocN(sizeof(NodeColorCorrection),
- "node colorcorrection");
+ NodeColorCorrection *n = (NodeColorCorrection *)MEM_callocN(sizeof(NodeColorCorrection),
+ "node colorcorrection");
n->startmidtones = 0.2f;
n->endmidtones = 0.7f;
n->master.contrast = 1.0f;
@@ -62,6 +63,7 @@ static void node_composit_init_colorcorrection(bNodeTree *UNUSED(ntree), bNode *
n->highlights.lift = 0.0f;
n->highlights.saturation = 1.0f;
node->custom1 = 7; // red + green + blue enabled
+ node->storage = n;
}
void register_node_type_cmp_colorcorrection(void)
@@ -69,7 +71,7 @@ void register_node_type_cmp_colorcorrection(void)
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_COLORCORRECTION, "Color Correction", NODE_CLASS_OP_COLOR, 0);
- node_type_socket_templates(&ntype, cmp_node_colorcorrection_in, cmp_node_colorcorrection_out);
+ ntype.declare = blender::nodes::cmp_node_colorcorrection_declare;
node_type_size(&ntype, 400, 200, 600);
node_type_init(&ntype, node_composit_init_colorcorrection);
node_type_storage(
diff --git a/source/blender/nodes/composite/nodes/node_composite_common.c b/source/blender/nodes/composite/nodes/node_composite_common.cc
index 61abc80fe93..fecf6795ef7 100644
--- a/source/blender/nodes/composite/nodes/node_composite_common.c
+++ b/source/blender/nodes/composite/nodes/node_composite_common.cc
@@ -26,7 +26,7 @@
#include "NOD_common.h"
#include "node_common.h"
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
#include "BKE_node.h"
@@ -46,10 +46,10 @@ void register_node_type_cmp_group(void)
ntype.insert_link = node_insert_link_default;
ntype.update_internal_links = node_update_internal_links_default;
ntype.rna_ext.srna = RNA_struct_find("CompositorNodeGroup");
- BLI_assert(ntype.rna_ext.srna != NULL);
+ BLI_assert(ntype.rna_ext.srna != nullptr);
RNA_struct_blender_type_set(ntype.rna_ext.srna, &ntype);
- node_type_socket_templates(&ntype, NULL, NULL);
+ node_type_socket_templates(&ntype, nullptr, nullptr);
node_type_size(&ntype, 140, 60, 400);
node_type_label(&ntype, node_group_label);
node_type_group_update(&ntype, node_group_update);
@@ -60,13 +60,13 @@ void register_node_type_cmp_group(void)
void register_node_type_cmp_custom_group(bNodeType *ntype)
{
/* These methods can be overridden but need a default implementation otherwise. */
- if (ntype->poll == NULL) {
+ if (ntype->poll == nullptr) {
ntype->poll = cmp_node_poll_default;
}
- if (ntype->insert_link == NULL) {
+ if (ntype->insert_link == nullptr) {
ntype->insert_link = node_insert_link_default;
}
- if (ntype->update_internal_links == NULL) {
+ if (ntype->update_internal_links == nullptr) {
ntype->update_internal_links = node_update_internal_links_default;
}
}
diff --git a/source/blender/nodes/composite/nodes/node_composite_composite.c b/source/blender/nodes/composite/nodes/node_composite_composite.cc
index dee2ce6b3ec..170fecb251c 100644
--- a/source/blender/nodes/composite/nodes/node_composite_composite.c
+++ b/source/blender/nodes/composite/nodes/node_composite_composite.cc
@@ -21,25 +21,30 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* **************** COMPOSITE ******************** */
-static bNodeSocketTemplate cmp_node_composite_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},
- {SOCK_FLOAT, N_("Z"), 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE},
- {-1, ""},
-};
+
+namespace blender::nodes {
+
+static void cmp_node_composite_declare(NodeDeclarationBuilder &b)
+{
+ b.add_input<decl::Color>("Image").default_value({0.0f, 0.0f, 0.0f, 1.0f});
+ b.add_input<decl::Float>("Alpha").default_value(1.0f).min(0.0f).max(1.0f);
+ b.add_input<decl::Float>("Z").default_value(1.0f).min(0.0f).max(1.0f);
+}
+
+} // namespace blender::nodes
void register_node_type_cmp_composite(void)
{
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_COMPOSITE, "Composite", NODE_CLASS_OUTPUT, NODE_PREVIEW);
- node_type_socket_templates(&ntype, cmp_node_composite_in, NULL);
+ ntype.declare = blender::nodes::cmp_node_composite_declare;
/* Do not allow muting for this node. */
- node_type_internal_links(&ntype, NULL);
+ node_type_internal_links(&ntype, nullptr);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/composite/nodes/node_composite_cornerpin.c b/source/blender/nodes/composite/nodes/node_composite_cornerpin.cc
index 135120c45aa..b5ca1fb015e 100644
--- a/source/blender/nodes/composite/nodes/node_composite_cornerpin.c
+++ b/source/blender/nodes/composite/nodes/node_composite_cornerpin.cc
@@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
static bNodeSocketTemplate inputs[] = {
{SOCK_RGBA, N_("Image"), 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
diff --git a/source/blender/nodes/composite/nodes/node_composite_crop.c b/source/blender/nodes/composite/nodes/node_composite_crop.cc
index 868df5367c4..f07dba8a74b 100644
--- a/source/blender/nodes/composite/nodes/node_composite_crop.c
+++ b/source/blender/nodes/composite/nodes/node_composite_crop.cc
@@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* **************** Crop ******************** */
@@ -36,7 +36,7 @@ static bNodeSocketTemplate cmp_node_crop_out[] = {
static void node_composit_init_crop(bNodeTree *UNUSED(ntree), bNode *node)
{
- NodeTwoXYs *nxy = MEM_callocN(sizeof(NodeTwoXYs), "node xy data");
+ NodeTwoXYs *nxy = (NodeTwoXYs *)MEM_callocN(sizeof(NodeTwoXYs), "node xy data");
node->storage = nxy;
nxy->x1 = 0;
nxy->x2 = 0;
diff --git a/source/blender/nodes/composite/nodes/node_composite_cryptomatte.cc b/source/blender/nodes/composite/nodes/node_composite_cryptomatte.cc
index 51dd73a86af..6657267b016 100644
--- a/source/blender/nodes/composite/nodes/node_composite_cryptomatte.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_cryptomatte.cc
@@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
#include "BLI_assert.h"
#include "BLI_dynstr.h"
diff --git a/source/blender/nodes/composite/nodes/node_composite_curves.c b/source/blender/nodes/composite/nodes/node_composite_curves.cc
index 470540d3337..88d96e1ca4a 100644
--- a/source/blender/nodes/composite/nodes/node_composite_curves.c
+++ b/source/blender/nodes/composite/nodes/node_composite_curves.cc
@@ -21,16 +21,20 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* **************** CURVE Time ******************** */
-/* custom1 = sfra, custom2 = efra */
-static bNodeSocketTemplate cmp_node_time_out[] = {
- {SOCK_FLOAT, N_("Fac")},
- {-1, ""},
-};
+namespace blender::nodes {
+static void cmp_node_time_declare(NodeDeclarationBuilder &b)
+{
+ b.add_output<decl::Float>("Fac");
+}
+
+} // namespace blender::nodes
+
+/* custom1 = start_frame, custom2 = end_frame */
static void node_composit_init_curves_time(bNodeTree *UNUSED(ntree), bNode *node)
{
node->custom1 = 1;
@@ -43,7 +47,7 @@ void register_node_type_cmp_curve_time(void)
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_TIME, "Time", NODE_CLASS_INPUT, 0);
- node_type_socket_templates(&ntype, NULL, cmp_node_time_out);
+ ntype.declare = blender::nodes::cmp_node_time_declare;
node_type_size(&ntype, 140, 100, 320);
node_type_init(&ntype, node_composit_init_curves_time);
node_type_storage(&ntype, "CurveMapping", node_free_curves, node_copy_curves);
@@ -81,18 +85,19 @@ void register_node_type_cmp_curve_vec(void)
}
/* **************** CURVE RGB ******************** */
-static bNodeSocketTemplate cmp_node_curve_rgb_in[] = {
- {SOCK_FLOAT, N_("Fac"), 1.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f, PROP_FACTOR},
- {SOCK_RGBA, N_("Image"), 1.0f, 1.0f, 1.0f, 1.0f},
- {SOCK_RGBA, N_("Black Level"), 0.0f, 0.0f, 0.0f, 1.0f},
- {SOCK_RGBA, N_("White Level"), 1.0f, 1.0f, 1.0f, 1.0f},
- {-1, ""},
-};
-static bNodeSocketTemplate cmp_node_curve_rgb_out[] = {
- {SOCK_RGBA, N_("Image")},
- {-1, ""},
-};
+namespace blender::nodes {
+
+static void cmp_node_rgbcurves_declare(NodeDeclarationBuilder &b)
+{
+ b.add_input<decl::Float>("Fac").default_value(1.0f).min(-1.0f).max(1.0f).subtype(PROP_FACTOR);
+ b.add_input<decl::Color>("Image").default_value({1.0f, 1.0f, 1.0f, 1.0f});
+ b.add_input<decl::Color>("Black Level").default_value({0.0f, 0.0f, 0.0f, 1.0f});
+ b.add_input<decl::Color>("White Level").default_value({1.0f, 1.0f, 1.0f, 1.0f});
+ b.add_output<decl::Color>("Image");
+}
+
+} // namespace blender::nodes
static void node_composit_init_curve_rgb(bNodeTree *UNUSED(ntree), bNode *node)
{
@@ -104,7 +109,7 @@ void register_node_type_cmp_curve_rgb(void)
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_CURVE_RGB, "RGB Curves", NODE_CLASS_OP_COLOR, 0);
- node_type_socket_templates(&ntype, cmp_node_curve_rgb_in, cmp_node_curve_rgb_out);
+ ntype.declare = blender::nodes::cmp_node_rgbcurves_declare;
node_type_size(&ntype, 200, 140, 320);
node_type_init(&ntype, node_composit_init_curve_rgb);
node_type_storage(&ntype, "CurveMapping", node_free_curves, node_copy_curves);
diff --git a/source/blender/nodes/composite/nodes/node_composite_defocus.c b/source/blender/nodes/composite/nodes/node_composite_defocus.cc
index 3803f450f49..1103aff4366 100644
--- a/source/blender/nodes/composite/nodes/node_composite_defocus.c
+++ b/source/blender/nodes/composite/nodes/node_composite_defocus.cc
@@ -21,11 +21,11 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
-#include <limits.h>
+#include <climits>
-/* ************ qdn: Defocus node ****************** */
+/* ************ Defocus Node ****************** */
static bNodeSocketTemplate cmp_node_defocus_in[] = {
{SOCK_RGBA, N_("Image"), 1.0f, 1.0f, 1.0f, 1.0f},
{SOCK_FLOAT, N_("Z"), 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
@@ -38,8 +38,8 @@ static bNodeSocketTemplate cmp_node_defocus_out[] = {
static void node_composit_init_defocus(bNodeTree *UNUSED(ntree), bNode *node)
{
- /* qdn: defocus node */
- NodeDefocus *nbd = MEM_callocN(sizeof(NodeDefocus), "node defocus data");
+ /* defocus node */
+ NodeDefocus *nbd = (NodeDefocus *)MEM_callocN(sizeof(NodeDefocus), "node defocus data");
nbd->bktype = 0;
nbd->rotation = 0.0f;
nbd->preview = 1;
diff --git a/source/blender/nodes/composite/nodes/node_composite_denoise.c b/source/blender/nodes/composite/nodes/node_composite_denoise.cc
index e2c7c7b995f..ec085794462 100644
--- a/source/blender/nodes/composite/nodes/node_composite_denoise.c
+++ b/source/blender/nodes/composite/nodes/node_composite_denoise.cc
@@ -23,7 +23,7 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
static bNodeSocketTemplate cmp_node_denoise_in[] = {
{SOCK_RGBA, N_("Image"), 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 1.0f},
@@ -34,7 +34,7 @@ static bNodeSocketTemplate cmp_node_denoise_out[] = {{SOCK_RGBA, N_("Image")}, {
static void node_composit_init_denonise(bNodeTree *UNUSED(ntree), bNode *node)
{
- NodeDenoise *ndg = MEM_callocN(sizeof(NodeDenoise), "node denoise data");
+ NodeDenoise *ndg = (NodeDenoise *)MEM_callocN(sizeof(NodeDenoise), "node denoise data");
ndg->hdr = true;
ndg->prefilter = CMP_NODE_DENOISE_PREFILTER_ACCURATE;
node->storage = ndg;
diff --git a/source/blender/nodes/composite/nodes/node_composite_despeckle.c b/source/blender/nodes/composite/nodes/node_composite_despeckle.cc
index 18567ee2006..52d91dabeb1 100644
--- a/source/blender/nodes/composite/nodes/node_composite_despeckle.c
+++ b/source/blender/nodes/composite/nodes/node_composite_despeckle.cc
@@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* **************** FILTER ******************** */
static bNodeSocketTemplate cmp_node_despeckle_in[] = {
diff --git a/source/blender/nodes/composite/nodes/node_composite_diffMatte.c b/source/blender/nodes/composite/nodes/node_composite_diffMatte.cc
index 7871a9e8b04..1e1a48381b7 100644
--- a/source/blender/nodes/composite/nodes/node_composite_diffMatte.c
+++ b/source/blender/nodes/composite/nodes/node_composite_diffMatte.cc
@@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* ******************* channel Difference Matte ********************************* */
static bNodeSocketTemplate cmp_node_diff_matte_in[] = {
@@ -38,7 +38,7 @@ static bNodeSocketTemplate cmp_node_diff_matte_out[] = {
static void node_composit_init_diff_matte(bNodeTree *UNUSED(ntree), bNode *node)
{
- NodeChroma *c = MEM_callocN(sizeof(NodeChroma), "node chroma");
+ NodeChroma *c = (NodeChroma *)MEM_callocN(sizeof(NodeChroma), "node chroma");
node->storage = c;
c->t1 = 0.1f;
c->t2 = 0.1f;
diff --git a/source/blender/nodes/composite/nodes/node_composite_dilate.c b/source/blender/nodes/composite/nodes/node_composite_dilate.cc
index 12f1f229258..57884a299da 100644
--- a/source/blender/nodes/composite/nodes/node_composite_dilate.c
+++ b/source/blender/nodes/composite/nodes/node_composite_dilate.cc
@@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* **************** Dilate/Erode ******************** */
@@ -31,7 +31,8 @@ static bNodeSocketTemplate cmp_node_dilateerode_out[] = {{SOCK_FLOAT, N_("Mask")
static void node_composit_init_dilateerode(bNodeTree *UNUSED(ntree), bNode *node)
{
- NodeDilateErode *data = MEM_callocN(sizeof(NodeDilateErode), "NodeDilateErode");
+ NodeDilateErode *data = (NodeDilateErode *)MEM_callocN(sizeof(NodeDilateErode),
+ "NodeDilateErode");
data->falloff = PROP_SMOOTH;
node->storage = data;
}
diff --git a/source/blender/nodes/composite/nodes/node_composite_directionalblur.c b/source/blender/nodes/composite/nodes/node_composite_directionalblur.cc
index 6dd60526edf..d9f82ba5009 100644
--- a/source/blender/nodes/composite/nodes/node_composite_directionalblur.c
+++ b/source/blender/nodes/composite/nodes/node_composite_directionalblur.cc
@@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
static bNodeSocketTemplate cmp_node_dblur_in[] = {{SOCK_RGBA, N_("Image"), 1.0f, 1.0f, 1.0f, 1.0f},
{-1, ""}};
@@ -30,7 +30,7 @@ static bNodeSocketTemplate cmp_node_dblur_out[] = {{SOCK_RGBA, N_("Image")}, {-1
static void node_composit_init_dblur(bNodeTree *UNUSED(ntree), bNode *node)
{
- NodeDBlurData *ndbd = MEM_callocN(sizeof(NodeDBlurData), "node dblur data");
+ NodeDBlurData *ndbd = (NodeDBlurData *)MEM_callocN(sizeof(NodeDBlurData), "node dblur data");
node->storage = ndbd;
ndbd->iter = 1;
ndbd->center_x = 0.5;
diff --git a/source/blender/nodes/composite/nodes/node_composite_displace.c b/source/blender/nodes/composite/nodes/node_composite_displace.cc
index 819a4f29b3a..b1ed7f05794 100644
--- a/source/blender/nodes/composite/nodes/node_composite_displace.c
+++ b/source/blender/nodes/composite/nodes/node_composite_displace.cc
@@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* **************** Displace ******************** */
diff --git a/source/blender/nodes/composite/nodes/node_composite_distanceMatte.c b/source/blender/nodes/composite/nodes/node_composite_distanceMatte.cc
index 3e659fe662b..3f8767ecd08 100644
--- a/source/blender/nodes/composite/nodes/node_composite_distanceMatte.c
+++ b/source/blender/nodes/composite/nodes/node_composite_distanceMatte.cc
@@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* ******************* channel Distance Matte ********************************* */
static bNodeSocketTemplate cmp_node_distance_matte_in[] = {
@@ -38,7 +38,7 @@ static bNodeSocketTemplate cmp_node_distance_matte_out[] = {
static void node_composit_init_distance_matte(bNodeTree *UNUSED(ntree), bNode *node)
{
- NodeChroma *c = MEM_callocN(sizeof(NodeChroma), "node chroma");
+ NodeChroma *c = (NodeChroma *)MEM_callocN(sizeof(NodeChroma), "node chroma");
node->storage = c;
c->channel = 1;
c->t1 = 0.1f;
diff --git a/source/blender/nodes/composite/nodes/node_composite_doubleEdgeMask.c b/source/blender/nodes/composite/nodes/node_composite_doubleEdgeMask.cc
index 6f68b187775..7c9a48efc2d 100644
--- a/source/blender/nodes/composite/nodes/node_composite_doubleEdgeMask.c
+++ b/source/blender/nodes/composite/nodes/node_composite_doubleEdgeMask.cc
@@ -20,7 +20,7 @@
/** \file
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* **************** Double Edge Mask ******************** */
static bNodeSocketTemplate cmp_node_doubleedgemask_in[] = {
diff --git a/source/blender/nodes/composite/nodes/node_composite_ellipsemask.c b/source/blender/nodes/composite/nodes/node_composite_ellipsemask.cc
index d5e1d519a1c..67196fb0d35 100644
--- a/source/blender/nodes/composite/nodes/node_composite_ellipsemask.c
+++ b/source/blender/nodes/composite/nodes/node_composite_ellipsemask.cc
@@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
-#include "../node_composite_util.h"
+#include "../node_composite_util.hh"
/* **************** SCALAR MATH ******************** */
static bNodeSocketTemplate cmp_node_ellipsemask_in[] = {
@@ -34,7 +34,8 @@ static bNodeSocketTemplate cmp_node_ellipsemask_out[] = {
static void node_composit_init_ellipsemask(bNodeTree *UNUSED(ntree), bNode *node)
{
- NodeEllipseMask *data = MEM_callocN(sizeof(NodeEllipseMask), "NodeEllipseMask");
+ NodeEllipseMask *data = (NodeEllipseMask *)MEM_callocN(sizeof(NodeEllipseMask),
+ "NodeEllipseMask");
data->x = 0.5;
data->y = 0.5;
data->width = 0.2;
diff --git a/source/blender/nodes/composite/nodes/node_composite_exposure.c b/source/blender/nodes/composite/nodes/node_composite_exposure.cc
index bd27e4a3d76..fd959376afe 100644
--- a/source/blender/nodes/composite/nodes/node_composite_exposure.c
+++ b/source/blender/nodes/composite/nodes/node_composite_exposure.cc
@@ -21,26 +21,27 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* **************** Exposure ******************** */
-static bNodeSocketTemplate cmp_node_exposure_in[] = {
- {SOCK_RGBA, N_("Image"), 1.0f, 1.0f, 1.0f, 1.0f},
- {SOCK_FLOAT, N_("Exposure"), 0.0f, 0.0f, 0.0f, 0.0f, -10.0f, 10.0f, PROP_NONE},
- {-1, ""},
-};
-static bNodeSocketTemplate cmp_node_exposure_out[] = {
- {SOCK_RGBA, N_("Image")},
- {-1, ""},
-};
+namespace blender::nodes {
+
+static void cmp_node_exposure_declare(NodeDeclarationBuilder &b)
+{
+ b.add_input<decl::Color>("Image").default_value({1.0f, 1.0f, 1.0f, 1.0f});
+ b.add_input<decl::Float>("Exposure").min(-10.0f).max(10.0f);
+ b.add_output<decl::Color>("Image");
+}
+
+} // namespace blender::nodes
void register_node_type_cmp_exposure(void)
{
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_EXPOSURE, "Exposure", NODE_CLASS_OP_COLOR, 0);
- node_type_socket_templates(&ntype, cmp_node_exposure_in, cmp_node_exposure_out);
+ ntype.declare = blender::nodes::cmp_node_exposure_declare;
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/composite/nodes/node_composite_filter.c b/source/blender/nodes/composite/nodes/node_composite_filter.cc
index d0ad090ece4..f07619877f4 100644
--- a/source/blender/nodes/composite/nodes/node_composite_filter.c
+++ b/source/blender/nodes/composite/nodes/node_composite_filter.cc
@@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* **************** FILTER ******************** */
static bNodeSocketTemplate cmp_node_filter_in[] = {
diff --git a/source/blender/nodes/composite/nodes/node_composite_flip.c b/source/blender/nodes/composite/nodes/node_composite_flip.cc
index 91a91bb5f5f..42aa3141f5c 100644
--- a/source/blender/nodes/composite/nodes/node_composite_flip.c
+++ b/source/blender/nodes/composite/nodes/node_composite_flip.cc
@@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* **************** Flip ******************** */
static bNodeSocketTemplate cmp_node_flip_in[] = {
diff --git a/source/blender/nodes/composite/nodes/node_composite_gamma.c b/source/blender/nodes/composite/nodes/node_composite_gamma.cc
index ddcaf691fd2..a29a001688a 100644
--- a/source/blender/nodes/composite/nodes/node_composite_gamma.c
+++ b/source/blender/nodes/composite/nodes/node_composite_gamma.cc
@@ -21,26 +21,28 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* **************** Gamma Tools ******************** */
-static bNodeSocketTemplate cmp_node_gamma_in[] = {
- {SOCK_RGBA, N_("Image"), 1.0f, 1.0f, 1.0f, 1.0f},
- {SOCK_FLOAT, N_("Gamma"), 1.0f, 0.0f, 0.0f, 0.0f, 0.001f, 10.0f, PROP_UNSIGNED},
- {-1, ""},
-};
-static bNodeSocketTemplate cmp_node_gamma_out[] = {
- {SOCK_RGBA, N_("Image")},
- {-1, ""},
-};
+namespace blender::nodes {
+
+static void cmp_node_gamma_declare(NodeDeclarationBuilder &b)
+{
+ b.add_input<decl::Color>("Image").default_value({1.0f, 1.0f, 1.0f, 1.0f});
+ b.add_input<decl::Float>("Gamma").default_value(1.0f).min(0.001f).max(10.0f).subtype(
+ PROP_UNSIGNED);
+ b.add_output<decl::Color>("Image");
+}
+
+} // namespace blender::nodes
void register_node_type_cmp_gamma(void)
{
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_GAMMA, "Gamma", NODE_CLASS_OP_COLOR, 0);
- node_type_socket_templates(&ntype, cmp_node_gamma_in, cmp_node_gamma_out);
+ ntype.declare = blender::nodes::cmp_node_gamma_declare;
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/composite/nodes/node_composite_glare.c b/source/blender/nodes/composite/nodes/node_composite_glare.cc
index a792fcc86cd..8a2fd1e1584 100644
--- a/source/blender/nodes/composite/nodes/node_composite_glare.c
+++ b/source/blender/nodes/composite/nodes/node_composite_glare.cc
@@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
static bNodeSocketTemplate cmp_node_glare_in[] = {
{SOCK_RGBA, N_("Image"), 1.0f, 1.0f, 1.0f, 1.0f},
@@ -34,7 +34,7 @@ static bNodeSocketTemplate cmp_node_glare_out[] = {
static void node_composit_init_glare(bNodeTree *UNUSED(ntree), bNode *node)
{
- NodeGlare *ndg = MEM_callocN(sizeof(NodeGlare), "node glare data");
+ NodeGlare *ndg = (NodeGlare *)MEM_callocN(sizeof(NodeGlare), "node glare data");
ndg->quality = 1;
ndg->type = 2;
ndg->iter = 3;
diff --git a/source/blender/nodes/composite/nodes/node_composite_hueSatVal.c b/source/blender/nodes/composite/nodes/node_composite_hueSatVal.cc
index 494b6136a6e..07746918a94 100644
--- a/source/blender/nodes/composite/nodes/node_composite_hueSatVal.c
+++ b/source/blender/nodes/composite/nodes/node_composite_hueSatVal.cc
@@ -21,28 +21,34 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* **************** Hue Saturation ******************** */
-static bNodeSocketTemplate cmp_node_hue_sat_in[] = {
- {SOCK_RGBA, N_("Image"), 1.0f, 1.0f, 1.0f, 1.0f},
- {SOCK_FLOAT, N_("Hue"), 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
- {SOCK_FLOAT, N_("Saturation"), 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 2.0f, PROP_FACTOR},
- {SOCK_FLOAT, N_("Value"), 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 2.0f, PROP_FACTOR},
- {SOCK_FLOAT, N_("Fac"), 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
- {-1, ""},
-};
-static bNodeSocketTemplate cmp_node_hue_sat_out[] = {
- {SOCK_RGBA, N_("Image")},
- {-1, ""},
-};
+
+namespace blender::nodes {
+
+static void cmp_node_huesatval_declare(NodeDeclarationBuilder &b)
+{
+ b.add_input<decl::Color>("Image").default_value({1.0f, 1.0f, 1.0f, 1.0f});
+ b.add_input<decl::Float>("Hue").default_value(0.5f).min(0.0f).max(1.0f).subtype(PROP_FACTOR);
+ b.add_input<decl::Float>("Saturation")
+ .default_value(1.0f)
+ .min(0.0f)
+ .max(2.0f)
+ .subtype(PROP_FACTOR);
+ b.add_input<decl::Float>("Value").default_value(1.0f).min(0.0f).max(2.0f).subtype(PROP_FACTOR);
+ b.add_input<decl::Float>("Fac").default_value(1.0f).min(0.0f).max(1.0f).subtype(PROP_FACTOR);
+ b.add_output<decl::Color>("Image");
+}
+
+} // namespace blender::nodes
void register_node_type_cmp_hue_sat(void)
{
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_HUE_SAT, "Hue Saturation Value", NODE_CLASS_OP_COLOR, 0);
- node_type_socket_templates(&ntype, cmp_node_hue_sat_in, cmp_node_hue_sat_out);
+ ntype.declare = blender::nodes::cmp_node_huesatval_declare;
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/composite/nodes/node_composite_huecorrect.c b/source/blender/nodes/composite/nodes/node_composite_huecorrect.cc
index 6a5c918d9ae..39014896a7b 100644
--- a/source/blender/nodes/composite/nodes/node_composite_huecorrect.c
+++ b/source/blender/nodes/composite/nodes/node_composite_huecorrect.cc
@@ -21,27 +21,28 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
-static bNodeSocketTemplate cmp_node_huecorrect_in[] = {
- {SOCK_FLOAT, N_("Fac"), 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_FACTOR},
- {SOCK_RGBA, N_("Image"), 1.0f, 1.0f, 1.0f, 1.0f},
- {-1, ""},
-};
+namespace blender::nodes {
-static bNodeSocketTemplate cmp_node_huecorrect_out[] = {
- {SOCK_RGBA, N_("Image")},
- {-1, ""},
-};
+static void cmp_node_huecorrect_declare(NodeDeclarationBuilder &b)
+{
+ b.add_input<decl::Float>("Fac").default_value(1.0f).min(0.0f).max(1.0f).subtype(PROP_FACTOR);
+ 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
static void node_composit_init_huecorrect(bNodeTree *UNUSED(ntree), bNode *node)
{
- CurveMapping *cumapping = node->storage = BKE_curvemapping_add(1, 0.0f, 0.0f, 1.0f, 1.0f);
- int c;
+ node->storage = BKE_curvemapping_add(1, 0.0f, 0.0f, 1.0f, 1.0f);
+
+ CurveMapping *cumapping = (CurveMapping *)node->storage;
cumapping->preset = CURVE_PRESET_MID9;
- for (c = 0; c < 3; c++) {
+ for (int c = 0; c < 3; c++) {
CurveMap *cuma = &cumapping->cm[c];
BKE_curvemap_reset(cuma, &cumapping->clipr, cumapping->preset, CURVEMAP_SLOPE_POSITIVE);
}
@@ -55,7 +56,7 @@ void register_node_type_cmp_huecorrect(void)
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_HUECORRECT, "Hue Correct", NODE_CLASS_OP_COLOR, 0);
- node_type_socket_templates(&ntype, cmp_node_huecorrect_in, cmp_node_huecorrect_out);
+ ntype.declare = blender::nodes::cmp_node_huecorrect_declare;
node_type_size(&ntype, 320, 140, 500);
node_type_init(&ntype, node_composit_init_huecorrect);
node_type_storage(&ntype, "CurveMapping", node_free_curves, node_copy_curves);
diff --git a/source/blender/nodes/composite/nodes/node_composite_idMask.c b/source/blender/nodes/composite/nodes/node_composite_idMask.cc
index 84563e7560b..de011dd6274 100644
--- a/source/blender/nodes/composite/nodes/node_composite_idMask.c
+++ b/source/blender/nodes/composite/nodes/node_composite_idMask.cc
@@ -21,25 +21,26 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* **************** 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_image.c b/source/blender/nodes/composite/nodes/node_composite_image.cc
index a56dfea9dbf..3cef3a7625f 100644
--- a/source/blender/nodes/composite/nodes/node_composite_image.c
+++ b/source/blender/nodes/composite/nodes/node_composite_image.cc
@@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
#include "BLI_linklist.h"
#include "BLI_utildefines.h"
@@ -84,16 +84,17 @@ static void cmp_node_image_add_pass_output(bNodeTree *ntree,
LinkNodePair *available_sockets,
int *prev_index)
{
- bNodeSocket *sock = BLI_findstring(&node->outputs, name, offsetof(bNodeSocket, name));
+ bNodeSocket *sock = (bNodeSocket *)BLI_findstring(
+ &node->outputs, name, offsetof(bNodeSocket, name));
/* Replace if types don't match. */
if (sock && sock->type != type) {
nodeRemoveSocket(ntree, node, sock);
- sock = NULL;
+ sock = nullptr;
}
/* Create socket if it doesn't exist yet. */
- if (sock == NULL) {
+ if (sock == nullptr) {
if (rres_index >= 0) {
sock = node_add_socket_from_template(
ntree, node, &cmp_node_rlayers_out[rres_index], SOCK_OUT);
@@ -102,18 +103,19 @@ static void cmp_node_image_add_pass_output(bNodeTree *ntree,
sock = nodeAddStaticSocket(ntree, node, SOCK_OUT, type, PROP_NONE, name, name);
}
/* extra socket info */
- NodeImageLayer *sockdata = MEM_callocN(sizeof(NodeImageLayer), "node image layer");
+ NodeImageLayer *sockdata = (NodeImageLayer *)MEM_callocN(sizeof(NodeImageLayer),
+ "node image layer");
sock->storage = sockdata;
}
- NodeImageLayer *sockdata = sock->storage;
+ NodeImageLayer *sockdata = (NodeImageLayer *)sock->storage;
if (sockdata) {
BLI_strncpy(sockdata->pass_name, passname, sizeof(sockdata->pass_name));
}
/* Reorder sockets according to order that passes are added. */
const int after_index = (*prev_index)++;
- bNodeSocket *after_sock = BLI_findlink(&node->outputs, after_index);
+ bNodeSocket *after_sock = (bNodeSocket *)BLI_findlink(&node->outputs, after_index);
BLI_remlink(&node->outputs, sock);
BLI_insertlinkafter(&node->outputs, after_sock, sock);
@@ -128,8 +130,8 @@ static void cmp_node_image_create_outputs(bNodeTree *ntree,
ImBuf *ibuf;
int prev_index = -1;
if (ima) {
- ImageUser *iuser = node->storage;
- ImageUser load_iuser = {NULL};
+ ImageUser *iuser = (ImageUser *)node->storage;
+ ImageUser load_iuser = {nullptr};
int offset = BKE_image_sequence_guess_offset(ima);
/* It is possible that image user in this node is not
@@ -138,21 +140,19 @@ static void cmp_node_image_create_outputs(bNodeTree *ntree,
*
* So we manually construct image user to be sure first
* image from sequence (that one which is set as filename
- * for image datablock) is used for sockets detection
- */
+ * for image data-block) is used for sockets detection. */
load_iuser.ok = 1;
load_iuser.framenr = offset;
/* make sure ima->type is correct */
- ibuf = BKE_image_acquire_ibuf(ima, &load_iuser, NULL);
+ ibuf = BKE_image_acquire_ibuf(ima, &load_iuser, nullptr);
if (ima->rr) {
- RenderLayer *rl = BLI_findlink(&ima->rr->layers, iuser->layer);
+ RenderLayer *rl = (RenderLayer *)BLI_findlink(&ima->rr->layers, iuser->layer);
if (rl) {
- RenderPass *rpass;
- for (rpass = rl->passes.first; rpass; rpass = rpass->next) {
- int type;
+ LISTBASE_FOREACH (RenderPass *, rpass, &rl->passes) {
+ eNodeSocketDatatype type;
if (rpass->channels == 1) {
type = SOCK_FLOAT;
}
@@ -182,7 +182,7 @@ static void cmp_node_image_create_outputs(bNodeTree *ntree,
&prev_index);
}
}
- BKE_image_release_ibuf(ima, ibuf, NULL);
+ BKE_image_release_ibuf(ima, ibuf, nullptr);
return;
}
}
@@ -219,14 +219,14 @@ static void cmp_node_image_create_outputs(bNodeTree *ntree,
available_sockets,
&prev_index);
}
- BKE_image_release_ibuf(ima, ibuf, NULL);
+ BKE_image_release_ibuf(ima, ibuf, nullptr);
}
}
-typedef struct RLayerUpdateData {
+struct RLayerUpdateData {
LinkNodePair *available_sockets;
int prev_index;
-} RLayerUpdateData;
+};
void node_cmp_rlayers_register_pass(bNodeTree *ntree,
bNode *node,
@@ -235,13 +235,13 @@ void node_cmp_rlayers_register_pass(bNodeTree *ntree,
const char *name,
eNodeSocketDatatype type)
{
- RLayerUpdateData *data = node->storage;
+ RLayerUpdateData *data = (RLayerUpdateData *)node->storage;
- if (scene == NULL || view_layer == NULL || data == NULL || node->id != (ID *)scene) {
+ if (scene == nullptr || view_layer == nullptr || data == nullptr || node->id != (ID *)scene) {
return;
}
- ViewLayer *node_view_layer = BLI_findlink(&scene->view_layers, node->custom1);
+ ViewLayer *node_view_layer = (ViewLayer *)BLI_findlink(&scene->view_layers, node->custom1);
if (node_view_layer != view_layer) {
return;
}
@@ -281,7 +281,7 @@ static void cmp_node_rlayer_create_outputs_cb(void *UNUSED(userdata),
* unless we want to register that for every other temp Main we could generate??? */
ntreeCompositRegisterPass(scene->nodetree, scene, view_layer, name, type);
- for (Scene *sce = G_MAIN->scenes.first; sce; sce = sce->id.next) {
+ for (Scene *sce = (Scene *)G_MAIN->scenes.first; sce; sce = (Scene *)sce->id.next) {
if (sce->nodetree && sce != scene) {
ntreeCompositRegisterPass(sce->nodetree, scene, view_layer, name, type);
}
@@ -297,16 +297,17 @@ static void cmp_node_rlayer_create_outputs(bNodeTree *ntree,
if (scene) {
RenderEngineType *engine_type = RE_engines_find(scene->r.engine);
if (engine_type && engine_type->update_render_passes) {
- ViewLayer *view_layer = BLI_findlink(&scene->view_layers, node->custom1);
+ ViewLayer *view_layer = (ViewLayer *)BLI_findlink(&scene->view_layers, node->custom1);
if (view_layer) {
- RLayerUpdateData *data = MEM_mallocN(sizeof(RLayerUpdateData), "render layer update data");
+ RLayerUpdateData *data = (RLayerUpdateData *)MEM_mallocN(sizeof(RLayerUpdateData),
+ "render layer update data");
data->available_sockets = available_sockets;
data->prev_index = -1;
node->storage = data;
RenderEngine *engine = RE_engine_create(engine_type);
RE_engine_update_render_passes(
- engine, scene, view_layer, cmp_node_rlayer_create_outputs_cb, NULL);
+ engine, scene, view_layer, cmp_node_rlayer_create_outputs_cb, nullptr);
RE_engine_free(engine);
if ((scene->r.mode & R_EDGE_FRS) &&
@@ -315,7 +316,7 @@ static void cmp_node_rlayer_create_outputs(bNodeTree *ntree,
}
MEM_freeN(data);
- node->storage = NULL;
+ node->storage = nullptr;
return;
}
@@ -348,8 +349,7 @@ static void cmp_node_rlayer_create_outputs(bNodeTree *ntree,
static void cmp_node_image_verify_outputs(bNodeTree *ntree, bNode *node, bool rlayer)
{
bNodeSocket *sock, *sock_next;
- LinkNodePair available_sockets = {NULL, NULL};
- int sock_index;
+ LinkNodePair available_sockets = {nullptr, nullptr};
/* XXX make callback */
if (rlayer) {
@@ -369,15 +369,15 @@ static void cmp_node_image_verify_outputs(bNodeTree *ntree, bNode *node, bool rl
* the first 31 passes to belong to a specific pass type.
* So, we keep those 31 always allocated before the others as well,
* even if they have no links attached. */
- sock_index = 0;
- for (sock = node->outputs.first; sock; sock = sock_next, sock_index++) {
+ int sock_index = 0;
+ for (sock = (bNodeSocket *)node->outputs.first; sock; sock = sock_next, sock_index++) {
sock_next = sock->next;
if (BLI_linklist_index(available_sockets.list, sock) >= 0) {
sock->flag &= ~(SOCK_UNAVAIL | SOCK_HIDDEN);
}
else {
bNodeLink *link;
- for (link = ntree->links.first; link; link = link->next) {
+ for (link = (bNodeLink *)ntree->links.first; link; link = link->next) {
if (link->fromsock == sock) {
break;
}
@@ -392,7 +392,7 @@ static void cmp_node_image_verify_outputs(bNodeTree *ntree, bNode *node, bool rl
}
}
- BLI_linklist_free(available_sockets.list, NULL);
+ BLI_linklist_free(available_sockets.list, nullptr);
}
static void cmp_node_image_update(bNodeTree *ntree, bNode *node)
@@ -407,7 +407,7 @@ static void cmp_node_image_update(bNodeTree *ntree, bNode *node)
static void node_composit_init_image(bNodeTree *ntree, bNode *node)
{
- ImageUser *iuser = MEM_callocN(sizeof(ImageUser), "node image user");
+ ImageUser *iuser = (ImageUser *)MEM_callocN(sizeof(ImageUser), "node image user");
node->storage = iuser;
iuser->frames = 1;
iuser->sfra = 1;
@@ -420,10 +420,8 @@ static void node_composit_init_image(bNodeTree *ntree, bNode *node)
static void node_composit_free_image(bNode *node)
{
- bNodeSocket *sock;
-
/* free extra socket info */
- for (sock = node->outputs.first; sock; sock = sock->next) {
+ LISTBASE_FOREACH (bNodeSocket *, sock, &node->outputs) {
MEM_freeN(sock->storage);
}
@@ -436,9 +434,9 @@ static void node_composit_copy_image(bNodeTree *UNUSED(dest_ntree),
{
dest_node->storage = MEM_dupallocN(src_node->storage);
- const bNodeSocket *src_output_sock = src_node->outputs.first;
- bNodeSocket *dest_output_sock = dest_node->outputs.first;
- while (dest_output_sock != NULL) {
+ const bNodeSocket *src_output_sock = (bNodeSocket *)src_node->outputs.first;
+ bNodeSocket *dest_output_sock = (bNodeSocket *)dest_node->outputs.first;
+ while (dest_output_sock != nullptr) {
dest_output_sock->storage = MEM_dupallocN(src_output_sock->storage);
src_output_sock = src_output_sock->next;
@@ -469,7 +467,7 @@ void node_cmp_rlayers_outputs(bNodeTree *ntree, bNode *node)
const char *node_cmp_rlayers_sock_to_pass(int sock_index)
{
if (sock_index >= NUM_LEGACY_SOCKETS) {
- return NULL;
+ return nullptr;
}
const char *name = cmp_node_rlayers_out[sock_index].name;
/* Exception for alpha, which is derived from Combined. */
@@ -479,14 +477,16 @@ const char *node_cmp_rlayers_sock_to_pass(int sock_index)
static void node_composit_init_rlayers(const bContext *C, PointerRNA *ptr)
{
Scene *scene = CTX_data_scene(C);
- bNode *node = ptr->data;
+ bNode *node = (bNode *)ptr->data;
int sock_index = 0;
node->id = &scene->id;
id_us_plus(node->id);
- for (bNodeSocket *sock = node->outputs.first; sock; sock = sock->next, sock_index++) {
- NodeImageLayer *sockdata = MEM_callocN(sizeof(NodeImageLayer), "node image layer");
+ for (bNodeSocket *sock = (bNodeSocket *)node->outputs.first; sock;
+ sock = sock->next, sock_index++) {
+ NodeImageLayer *sockdata = (NodeImageLayer *)MEM_callocN(sizeof(NodeImageLayer),
+ "node image layer");
sock->storage = sockdata;
BLI_strncpy(sockdata->pass_name,
@@ -510,13 +510,13 @@ static bool node_composit_poll_rlayers(bNodeType *UNUSED(ntype),
* Render layers node can only be used in local scene->nodetree,
* since it directly links to the scene.
*/
- for (scene = G.main->scenes.first; scene; scene = scene->id.next) {
+ for (scene = (Scene *)G.main->scenes.first; scene; scene = (Scene *)scene->id.next) {
if (scene->nodetree == ntree) {
break;
}
}
- if (scene == NULL) {
+ if (scene == nullptr) {
*r_disabled_hint = "The node tree must be the compositing node tree of any scene in the file";
return false;
}
@@ -525,10 +525,8 @@ static bool node_composit_poll_rlayers(bNodeType *UNUSED(ntype),
static void node_composit_free_rlayers(bNode *node)
{
- bNodeSocket *sock;
-
/* free extra socket info */
- for (sock = node->outputs.first; sock; sock = sock->next) {
+ LISTBASE_FOREACH (bNodeSocket *, sock, &node->outputs) {
if (sock->storage) {
MEM_freeN(sock->storage);
}
@@ -540,9 +538,9 @@ static void node_composit_copy_rlayers(bNodeTree *UNUSED(dest_ntree),
const bNode *src_node)
{
/* copy extra socket info */
- const bNodeSocket *src_output_sock = src_node->outputs.first;
- bNodeSocket *dest_output_sock = dest_node->outputs.first;
- while (dest_output_sock != NULL) {
+ const bNodeSocket *src_output_sock = (bNodeSocket *)src_node->outputs.first;
+ bNodeSocket *dest_output_sock = (bNodeSocket *)dest_node->outputs.first;
+ while (dest_output_sock != nullptr) {
dest_output_sock->storage = MEM_dupallocN(src_output_sock->storage);
src_output_sock = src_output_sock->next;
@@ -562,10 +560,10 @@ void register_node_type_cmp_rlayers(void)
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_R_LAYERS, "Render Layers", NODE_CLASS_INPUT, NODE_PREVIEW);
- node_type_socket_templates(&ntype, NULL, cmp_node_rlayers_out);
+ node_type_socket_templates(&ntype, nullptr, cmp_node_rlayers_out);
ntype.initfunc_api = node_composit_init_rlayers;
ntype.poll = node_composit_poll_rlayers;
- node_type_storage(&ntype, NULL, node_composit_free_rlayers, node_composit_copy_rlayers);
+ node_type_storage(&ntype, nullptr, node_composit_free_rlayers, node_composit_copy_rlayers);
node_type_update(&ntype, cmp_node_rlayers_update);
node_type_init(&ntype, node_cmp_rlayers_outputs);
node_type_size_preset(&ntype, NODE_SIZE_LARGE);
diff --git a/source/blender/nodes/composite/nodes/node_composite_inpaint.c b/source/blender/nodes/composite/nodes/node_composite_inpaint.cc
index 6c02bca9b39..d0ff97a2ca0 100644
--- a/source/blender/nodes/composite/nodes/node_composite_inpaint.c
+++ b/source/blender/nodes/composite/nodes/node_composite_inpaint.cc
@@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* **************** Inpaint/ ******************** */
diff --git a/source/blender/nodes/composite/nodes/node_composite_invert.c b/source/blender/nodes/composite/nodes/node_composite_invert.cc
index d229261f208..57b7ed36ccd 100644
--- a/source/blender/nodes/composite/nodes/node_composite_invert.c
+++ b/source/blender/nodes/composite/nodes/node_composite_invert.cc
@@ -21,15 +21,20 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* **************** INVERT ******************** */
-static bNodeSocketTemplate cmp_node_invert_in[] = {
- {SOCK_FLOAT, N_("Fac"), 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
- {SOCK_RGBA, N_("Color"), 1.0f, 1.0f, 1.0f, 1.0f},
- {-1, ""}};
-static bNodeSocketTemplate cmp_node_invert_out[] = {{SOCK_RGBA, N_("Color")}, {-1, ""}};
+namespace blender::nodes {
+
+static void cmp_node_invert_declare(NodeDeclarationBuilder &b)
+{
+ b.add_input<decl::Float>("Fac").default_value(1.0f).min(0.0f).max(1.0f).subtype(PROP_FACTOR);
+ b.add_input<decl::Color>("Color").default_value({1.0f, 1.0f, 1.0f, 1.0f});
+ b.add_output<decl::Color>("Color");
+}
+
+} // namespace blender::nodes
static void node_composit_init_invert(bNodeTree *UNUSED(ntree), bNode *node)
{
@@ -42,7 +47,7 @@ void register_node_type_cmp_invert(void)
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_INVERT, "Invert", NODE_CLASS_OP_COLOR, 0);
- node_type_socket_templates(&ntype, cmp_node_invert_in, cmp_node_invert_out);
+ ntype.declare = blender::nodes::cmp_node_invert_declare;
node_type_init(&ntype, node_composit_init_invert);
nodeRegisterType(&ntype);
diff --git a/source/blender/nodes/composite/nodes/node_composite_keying.c b/source/blender/nodes/composite/nodes/node_composite_keying.cc
index 73e86a21ebe..d5547161069 100644
--- a/source/blender/nodes/composite/nodes/node_composite_keying.c
+++ b/source/blender/nodes/composite/nodes/node_composite_keying.cc
@@ -27,7 +27,7 @@
#include "BLI_math_base.h"
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* **************** Translate ******************** */
@@ -48,9 +48,7 @@ static bNodeSocketTemplate cmp_node_keying_out[] = {
static void node_composit_init_keying(bNodeTree *UNUSED(ntree), bNode *node)
{
- NodeKeyingData *data;
-
- data = MEM_callocN(sizeof(NodeKeyingData), "node keying data");
+ NodeKeyingData *data = (NodeKeyingData *)MEM_callocN(sizeof(NodeKeyingData), "node keying data");
data->screen_balance = 0.5f;
data->despill_balance = 0.5f;
@@ -59,7 +57,6 @@ static void node_composit_init_keying(bNodeTree *UNUSED(ntree), bNode *node)
data->edge_kernel_tolerance = 0.1f;
data->clip_black = 0.0f;
data->clip_white = 1.0f;
-
node->storage = data;
}
diff --git a/source/blender/nodes/composite/nodes/node_composite_keyingscreen.c b/source/blender/nodes/composite/nodes/node_composite_keyingscreen.cc
index e5e97cd72e4..c976a92b92d 100644
--- a/source/blender/nodes/composite/nodes/node_composite_keyingscreen.c
+++ b/source/blender/nodes/composite/nodes/node_composite_keyingscreen.cc
@@ -26,7 +26,7 @@
#include "BLI_math_base.h"
#include "BLI_math_color.h"
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* **************** Translate ******************** */
@@ -37,10 +37,8 @@ static bNodeSocketTemplate cmp_node_keyingscreen_out[] = {
static void node_composit_init_keyingscreen(bNodeTree *UNUSED(ntree), bNode *node)
{
- NodeKeyingScreenData *data;
-
- data = MEM_callocN(sizeof(NodeKeyingScreenData), "node keyingscreen data");
-
+ NodeKeyingScreenData *data = (NodeKeyingScreenData *)MEM_callocN(sizeof(NodeKeyingScreenData),
+ "node keyingscreen data");
node->storage = data;
}
@@ -49,7 +47,7 @@ void register_node_type_cmp_keyingscreen(void)
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_KEYINGSCREEN, "Keying Screen", NODE_CLASS_MATTE, 0);
- node_type_socket_templates(&ntype, NULL, cmp_node_keyingscreen_out);
+ node_type_socket_templates(&ntype, nullptr, cmp_node_keyingscreen_out);
node_type_init(&ntype, node_composit_init_keyingscreen);
node_type_storage(
&ntype, "NodeKeyingScreenData", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/composite/nodes/node_composite_lensdist.c b/source/blender/nodes/composite/nodes/node_composite_lensdist.cc
index ce8c8c00e24..2a8dc035792 100644
--- a/source/blender/nodes/composite/nodes/node_composite_lensdist.c
+++ b/source/blender/nodes/composite/nodes/node_composite_lensdist.cc
@@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
static bNodeSocketTemplate cmp_node_lensdist_in[] = {
{SOCK_RGBA, N_("Image"), 1.0f, 1.0f, 1.0f, 1.0f},
@@ -36,7 +36,7 @@ static bNodeSocketTemplate cmp_node_lensdist_out[] = {
static void node_composit_init_lensdist(bNodeTree *UNUSED(ntree), bNode *node)
{
- NodeLensDist *nld = MEM_callocN(sizeof(NodeLensDist), "node lensdist data");
+ NodeLensDist *nld = (NodeLensDist *)MEM_callocN(sizeof(NodeLensDist), "node lensdist data");
nld->jit = nld->proj = nld->fit = 0;
node->storage = nld;
}
diff --git a/source/blender/nodes/composite/nodes/node_composite_levels.c b/source/blender/nodes/composite/nodes/node_composite_levels.cc
index 7c70ccf412a..aaab8dcc874 100644
--- a/source/blender/nodes/composite/nodes/node_composite_levels.c
+++ b/source/blender/nodes/composite/nodes/node_composite_levels.cc
@@ -21,19 +21,20 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* **************** LEVELS ******************** */
-static bNodeSocketTemplate cmp_node_view_levels_in[] = {
- {SOCK_RGBA, N_("Image"), 0.0f, 0.0f, 0.0f, 1.0f},
- {-1, ""},
-};
-static bNodeSocketTemplate cmp_node_view_levels_out[] = {
- {SOCK_FLOAT, N_("Mean")},
- {SOCK_FLOAT, N_("Std Dev")},
- {-1, ""},
-};
+namespace blender::nodes {
+
+static void cmp_node_levels_declare(NodeDeclarationBuilder &b)
+{
+ b.add_input<decl::Color>("Image").default_value({0.0f, 0.0f, 0.0f, 1.0f});
+ b.add_output<decl::Float>("Mean");
+ b.add_output<decl::Float>("Std Dev");
+}
+
+} // namespace blender::nodes
static void node_composit_init_view_levels(bNodeTree *UNUSED(ntree), bNode *node)
{
@@ -45,7 +46,7 @@ void register_node_type_cmp_view_levels(void)
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_VIEW_LEVELS, "Levels", NODE_CLASS_OUTPUT, NODE_PREVIEW);
- node_type_socket_templates(&ntype, cmp_node_view_levels_in, cmp_node_view_levels_out);
+ ntype.declare = blender::nodes::cmp_node_levels_declare;
node_type_init(&ntype, node_composit_init_view_levels);
nodeRegisterType(&ntype);
diff --git a/source/blender/nodes/composite/nodes/node_composite_lummaMatte.c b/source/blender/nodes/composite/nodes/node_composite_lummaMatte.cc
index cb0f59c2f4a..600406d22b9 100644
--- a/source/blender/nodes/composite/nodes/node_composite_lummaMatte.c
+++ b/source/blender/nodes/composite/nodes/node_composite_lummaMatte.cc
@@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* ******************* Luma Matte Node ********************************* */
static bNodeSocketTemplate cmp_node_luma_matte_in[] = {
@@ -37,7 +37,7 @@ static bNodeSocketTemplate cmp_node_luma_matte_out[] = {
static void node_composit_init_luma_matte(bNodeTree *UNUSED(ntree), bNode *node)
{
- NodeChroma *c = MEM_callocN(sizeof(NodeChroma), "node chroma");
+ NodeChroma *c = (NodeChroma *)MEM_callocN(sizeof(NodeChroma), "node chroma");
node->storage = c;
c->t1 = 1.0f;
c->t2 = 0.0f;
diff --git a/source/blender/nodes/composite/nodes/node_composite_mapRange.c b/source/blender/nodes/composite/nodes/node_composite_mapRange.cc
index cd95e73ba5c..808ad538e55 100644
--- a/source/blender/nodes/composite/nodes/node_composite_mapRange.c
+++ b/source/blender/nodes/composite/nodes/node_composite_mapRange.cc
@@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* **************** MAP VALUE ******************** */
static bNodeSocketTemplate cmp_node_map_range_in[] = {
diff --git a/source/blender/nodes/composite/nodes/node_composite_mapUV.c b/source/blender/nodes/composite/nodes/node_composite_mapUV.cc
index e88a303e449..99032bd042e 100644
--- a/source/blender/nodes/composite/nodes/node_composite_mapUV.c
+++ b/source/blender/nodes/composite/nodes/node_composite_mapUV.cc
@@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* **************** Map UV ******************** */
diff --git a/source/blender/nodes/composite/nodes/node_composite_mapValue.c b/source/blender/nodes/composite/nodes/node_composite_mapValue.cc
index c93807c3801..25c00c2ba13 100644
--- a/source/blender/nodes/composite/nodes/node_composite_mapValue.c
+++ b/source/blender/nodes/composite/nodes/node_composite_mapValue.cc
@@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* **************** MAP VALUE ******************** */
static bNodeSocketTemplate cmp_node_map_value_in[] = {
diff --git a/source/blender/nodes/composite/nodes/node_composite_mask.c b/source/blender/nodes/composite/nodes/node_composite_mask.cc
index e6a5df6c24b..8b415bb8b63 100644
--- a/source/blender/nodes/composite/nodes/node_composite_mask.c
+++ b/source/blender/nodes/composite/nodes/node_composite_mask.cc
@@ -23,15 +23,22 @@
#include "DNA_mask_types.h"
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
-/* **************** Translate ******************** */
+/* **************** Mask ******************** */
-static bNodeSocketTemplate cmp_node_mask_out[] = {{SOCK_FLOAT, "Mask"}, {-1, ""}};
+namespace blender::nodes {
+
+static void cmp_node_mask_declare(NodeDeclarationBuilder &b)
+{
+ b.add_output<decl::Float>("Mask");
+}
+
+} // namespace blender::nodes
static void node_composit_init_mask(bNodeTree *UNUSED(ntree), bNode *node)
{
- NodeMask *data = MEM_callocN(sizeof(NodeMask), "NodeMask");
+ NodeMask *data = (NodeMask *)MEM_callocN(sizeof(NodeMask), "NodeMask");
data->size_x = data->size_y = 256;
node->storage = data;
@@ -41,7 +48,7 @@ static void node_composit_init_mask(bNodeTree *UNUSED(ntree), bNode *node)
static void node_mask_label(bNodeTree *UNUSED(ntree), bNode *node, char *label, int maxlen)
{
- if (node->id != NULL) {
+ if (node->id != nullptr) {
BLI_strncpy(label, node->id->name + 2, maxlen);
}
else {
@@ -54,7 +61,7 @@ void register_node_type_cmp_mask(void)
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_MASK, "Mask", NODE_CLASS_INPUT, 0);
- node_type_socket_templates(&ntype, NULL, cmp_node_mask_out);
+ ntype.declare = blender::nodes::cmp_node_mask_declare;
node_type_init(&ntype, node_composit_init_mask);
node_type_label(&ntype, node_mask_label);
diff --git a/source/blender/nodes/composite/nodes/node_composite_math.c b/source/blender/nodes/composite/nodes/node_composite_math.cc
index 2191c6bcdc3..a9859425e28 100644
--- a/source/blender/nodes/composite/nodes/node_composite_math.c
+++ b/source/blender/nodes/composite/nodes/node_composite_math.cc
@@ -21,23 +21,28 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#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_mixrgb.c b/source/blender/nodes/composite/nodes/node_composite_mixrgb.cc
index 9d3751c7da3..4f2a9c2717c 100644
--- a/source/blender/nodes/composite/nodes/node_composite_mixrgb.c
+++ b/source/blender/nodes/composite/nodes/node_composite_mixrgb.cc
@@ -21,19 +21,21 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* **************** MIX RGB ******************** */
-static bNodeSocketTemplate cmp_node_mix_rgb_in[] = {
- {SOCK_FLOAT, N_("Fac"), 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
- {SOCK_RGBA, N_("Image"), 1.0f, 1.0f, 1.0f, 1.0f},
- {SOCK_RGBA, N_("Image"), 1.0f, 1.0f, 1.0f, 1.0f},
- {-1, ""},
-};
-static bNodeSocketTemplate cmp_node_mix_rgb_out[] = {
- {SOCK_RGBA, N_("Image")},
- {-1, ""},
-};
+
+namespace blender::nodes {
+
+static void cmp_node_mixrgb_declare(NodeDeclarationBuilder &b)
+{
+ b.add_input<decl::Float>("Fac").default_value(1.0f).min(0.0f).max(1.0f).subtype(PROP_FACTOR);
+ b.add_input<decl::Color>("Image").default_value({1.0f, 1.0f, 1.0f, 1.0f});
+ b.add_input<decl::Color>("Image", "Image_001").default_value({1.0f, 1.0f, 1.0f, 1.0f});
+ b.add_output<decl::Color>("Image");
+}
+
+} // namespace blender::nodes
/* custom1 = mix type */
void register_node_type_cmp_mix_rgb(void)
@@ -41,7 +43,7 @@ void register_node_type_cmp_mix_rgb(void)
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_MIX_RGB, "Mix", NODE_CLASS_OP_COLOR, NODE_PREVIEW);
- node_type_socket_templates(&ntype, cmp_node_mix_rgb_in, cmp_node_mix_rgb_out);
+ ntype.declare = blender::nodes::cmp_node_mixrgb_declare;
node_type_label(&ntype, node_blend_label);
nodeRegisterType(&ntype);
diff --git a/source/blender/nodes/composite/nodes/node_composite_movieclip.c b/source/blender/nodes/composite/nodes/node_composite_movieclip.cc
index 4f5aef05425..ae91212f811 100644
--- a/source/blender/nodes/composite/nodes/node_composite_movieclip.c
+++ b/source/blender/nodes/composite/nodes/node_composite_movieclip.cc
@@ -21,26 +21,31 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
#include "BKE_context.h"
#include "BKE_lib_id.h"
-static bNodeSocketTemplate cmp_node_movieclip_out[] = {
- {SOCK_RGBA, N_("Image")},
- {SOCK_FLOAT, N_("Alpha")},
- {SOCK_FLOAT, N_("Offset X")},
- {SOCK_FLOAT, N_("Offset Y")},
- {SOCK_FLOAT, N_("Scale")},
- {SOCK_FLOAT, N_("Angle")},
- {-1, ""},
-};
+namespace blender::nodes {
+
+static void cmp_node_movieclip_declare(NodeDeclarationBuilder &b)
+{
+ b.add_output<decl::Color>("Image");
+ b.add_output<decl::Float>("Alpha");
+ b.add_output<decl::Float>("Offset X");
+ b.add_output<decl::Float>("Offset Y");
+ b.add_output<decl::Float>("Scale");
+ b.add_output<decl::Float>("Angle");
+}
+
+} // namespace blender::nodes
static void init(const bContext *C, PointerRNA *ptr)
{
- bNode *node = ptr->data;
+ bNode *node = (bNode *)ptr->data;
Scene *scene = CTX_data_scene(C);
- MovieClipUser *user = MEM_callocN(sizeof(MovieClipUser), "node movie clip user");
+ MovieClipUser *user = (MovieClipUser *)MEM_callocN(sizeof(MovieClipUser),
+ "node movie clip user");
node->id = (ID *)scene->clip;
id_us_plus(node->id);
@@ -53,7 +58,7 @@ void register_node_type_cmp_movieclip(void)
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_MOVIECLIP, "Movie Clip", NODE_CLASS_INPUT, NODE_PREVIEW);
- node_type_socket_templates(&ntype, NULL, cmp_node_movieclip_out);
+ ntype.declare = blender::nodes::cmp_node_movieclip_declare;
ntype.initfunc_api = init;
node_type_storage(
&ntype, "MovieClipUser", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/composite/nodes/node_composite_moviedistortion.c b/source/blender/nodes/composite/nodes/node_composite_moviedistortion.cc
index 7e30d004b45..2bac30cc152 100644
--- a/source/blender/nodes/composite/nodes/node_composite_moviedistortion.c
+++ b/source/blender/nodes/composite/nodes/node_composite_moviedistortion.cc
@@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
#include "BKE_context.h"
#include "BKE_lib_id.h"
@@ -50,7 +50,7 @@ static void label(bNodeTree *UNUSED(ntree), bNode *node, char *label, int maxlen
static void init(const bContext *C, PointerRNA *ptr)
{
- bNode *node = ptr->data;
+ bNode *node = (bNode *)ptr->data;
Scene *scene = CTX_data_scene(C);
node->id = (ID *)scene->clip;
@@ -60,16 +60,16 @@ static void init(const bContext *C, PointerRNA *ptr)
static void storage_free(bNode *node)
{
if (node->storage) {
- BKE_tracking_distortion_free(node->storage);
+ BKE_tracking_distortion_free((MovieDistortion *)node->storage);
}
- node->storage = NULL;
+ node->storage = nullptr;
}
static void storage_copy(bNodeTree *UNUSED(dest_ntree), bNode *dest_node, const bNode *src_node)
{
if (src_node->storage) {
- dest_node->storage = BKE_tracking_distortion_copy(src_node->storage);
+ dest_node->storage = BKE_tracking_distortion_copy((MovieDistortion *)src_node->storage);
}
}
@@ -82,7 +82,7 @@ void register_node_type_cmp_moviedistortion(void)
node_type_label(&ntype, label);
ntype.initfunc_api = init;
- node_type_storage(&ntype, NULL, storage_free, storage_copy);
+ node_type_storage(&ntype, nullptr, storage_free, storage_copy);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/composite/nodes/node_composite_normal.c b/source/blender/nodes/composite/nodes/node_composite_normal.cc
index 91300e66339..7531025daa5 100644
--- a/source/blender/nodes/composite/nodes/node_composite_normal.c
+++ b/source/blender/nodes/composite/nodes/node_composite_normal.cc
@@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* **************** NORMAL ******************** */
static bNodeSocketTemplate cmp_node_normal_in[] = {
diff --git a/source/blender/nodes/composite/nodes/node_composite_normalize.c b/source/blender/nodes/composite/nodes/node_composite_normalize.cc
index 26f2abc745f..7cc54e4eed6 100644
--- a/source/blender/nodes/composite/nodes/node_composite_normalize.c
+++ b/source/blender/nodes/composite/nodes/node_composite_normalize.cc
@@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* **************** NORMALIZE single channel, useful for Z buffer ******************** */
static bNodeSocketTemplate cmp_node_normalize_in[] = {
diff --git a/source/blender/nodes/composite/nodes/node_composite_outputFile.c b/source/blender/nodes/composite/nodes/node_composite_outputFile.cc
index c10edd8d5ad..a372d2f7419 100644
--- a/source/blender/nodes/composite/nodes/node_composite_outputFile.c
+++ b/source/blender/nodes/composite/nodes/node_composite_outputFile.cc
@@ -23,13 +23,13 @@
#include "BLI_string_utils.h"
#include "BLI_utildefines.h"
-#include <string.h>
+#include <cstring>
#include "BKE_context.h"
#include "RNA_access.h"
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
#include "intern/openexr/openexr_multi.h"
@@ -38,14 +38,15 @@
/* find unique path */
static bool unique_path_unique_check(void *arg, const char *name)
{
- struct {
+ struct Args {
ListBase *lb;
bNodeSocket *sock;
- } *data = arg;
- bNodeSocket *sock;
- for (sock = data->lb->first; sock; sock = sock->next) {
+ };
+ Args *data = (Args *)arg;
+
+ LISTBASE_FOREACH (bNodeSocket *, sock, data->lb) {
if (sock != data->sock) {
- NodeImageMultiFileSocket *sockdata = sock->storage;
+ NodeImageMultiFileSocket *sockdata = (NodeImageMultiFileSocket *)sock->storage;
if (STREQ(sockdata->path, name)) {
return true;
}
@@ -67,11 +68,11 @@ void ntreeCompositOutputFileUniquePath(ListBase *list,
data.sock = sock;
/* See if we are given an empty string */
- if (ELEM(NULL, sock, defname)) {
+ if (ELEM(nullptr, sock, defname)) {
return;
}
- sockdata = sock->storage;
+ sockdata = (NodeImageMultiFileSocket *)sock->storage;
BLI_uniquename_cb(
unique_path_unique_check, &data, defname, delim, sockdata->path, sizeof(sockdata->path));
}
@@ -79,14 +80,15 @@ void ntreeCompositOutputFileUniquePath(ListBase *list,
/* find unique EXR layer */
static bool unique_layer_unique_check(void *arg, const char *name)
{
- struct {
+ struct Args {
ListBase *lb;
bNodeSocket *sock;
- } *data = arg;
- bNodeSocket *sock;
- for (sock = data->lb->first; sock; sock = sock->next) {
+ };
+ Args *data = (Args *)arg;
+
+ LISTBASE_FOREACH (bNodeSocket *, sock, data->lb) {
if (sock != data->sock) {
- NodeImageMultiFileSocket *sockdata = sock->storage;
+ NodeImageMultiFileSocket *sockdata = (NodeImageMultiFileSocket *)sock->storage;
if (STREQ(sockdata->layer, name)) {
return true;
}
@@ -99,7 +101,6 @@ void ntreeCompositOutputFileUniqueLayer(ListBase *list,
const char defname[],
char delim)
{
- NodeImageMultiFileSocket *sockdata;
struct {
ListBase *lb;
bNodeSocket *sock;
@@ -108,11 +109,11 @@ void ntreeCompositOutputFileUniqueLayer(ListBase *list,
data.sock = sock;
/* See if we are given an empty string */
- if (ELEM(NULL, sock, defname)) {
+ if (ELEM(nullptr, sock, defname)) {
return;
}
- sockdata = sock->storage;
+ NodeImageMultiFileSocket *sockdata = (NodeImageMultiFileSocket *)sock->storage;
BLI_uniquename_cb(
unique_layer_unique_check, &data, defname, delim, sockdata->layer, sizeof(sockdata->layer));
}
@@ -122,12 +123,13 @@ bNodeSocket *ntreeCompositOutputFileAddSocket(bNodeTree *ntree,
const char *name,
ImageFormatData *im_format)
{
- NodeImageMultiFile *nimf = node->storage;
- bNodeSocket *sock = nodeAddStaticSocket(ntree, node, SOCK_IN, SOCK_RGBA, PROP_NONE, NULL, name);
+ NodeImageMultiFile *nimf = (NodeImageMultiFile *)node->storage;
+ bNodeSocket *sock = nodeAddStaticSocket(
+ ntree, node, SOCK_IN, SOCK_RGBA, PROP_NONE, nullptr, name);
/* create format data for the input socket */
- NodeImageMultiFileSocket *sockdata = MEM_callocN(sizeof(NodeImageMultiFileSocket),
- "socket image format");
+ NodeImageMultiFileSocket *sockdata = (NodeImageMultiFileSocket *)MEM_callocN(
+ sizeof(NodeImageMultiFileSocket), "socket image format");
sock->storage = sockdata;
BLI_strncpy_utf8(sockdata->path, name, sizeof(sockdata->path));
@@ -155,8 +157,8 @@ bNodeSocket *ntreeCompositOutputFileAddSocket(bNodeTree *ntree,
int ntreeCompositOutputFileRemoveActiveSocket(bNodeTree *ntree, bNode *node)
{
- NodeImageMultiFile *nimf = node->storage;
- bNodeSocket *sock = BLI_findlink(&node->inputs, nimf->active_input);
+ NodeImageMultiFile *nimf = (NodeImageMultiFile *)node->storage;
+ bNodeSocket *sock = (bNodeSocket *)BLI_findlink(&node->inputs, nimf->active_input);
int totinputs = BLI_listbase_count(&node->inputs);
if (!sock) {
@@ -176,14 +178,14 @@ int ntreeCompositOutputFileRemoveActiveSocket(bNodeTree *ntree, bNode *node)
void ntreeCompositOutputFileSetPath(bNode *node, bNodeSocket *sock, const char *name)
{
- NodeImageMultiFileSocket *sockdata = sock->storage;
+ NodeImageMultiFileSocket *sockdata = (NodeImageMultiFileSocket *)sock->storage;
BLI_strncpy_utf8(sockdata->path, name, sizeof(sockdata->path));
ntreeCompositOutputFileUniquePath(&node->inputs, sock, name, '_');
}
void ntreeCompositOutputFileSetLayer(bNode *node, bNodeSocket *sock, const char *name)
{
- NodeImageMultiFileSocket *sockdata = sock->storage;
+ NodeImageMultiFileSocket *sockdata = (NodeImageMultiFileSocket *)sock->storage;
BLI_strncpy_utf8(sockdata->layer, name, sizeof(sockdata->layer));
ntreeCompositOutputFileUniqueLayer(&node->inputs, sock, name, '_');
}
@@ -193,9 +195,10 @@ static void init_output_file(const bContext *C, PointerRNA *ptr)
{
Scene *scene = CTX_data_scene(C);
bNodeTree *ntree = (bNodeTree *)ptr->owner_id;
- bNode *node = ptr->data;
- NodeImageMultiFile *nimf = MEM_callocN(sizeof(NodeImageMultiFile), "node image multi file");
- ImageFormatData *format = NULL;
+ bNode *node = (bNode *)ptr->data;
+ NodeImageMultiFile *nimf = (NodeImageMultiFile *)MEM_callocN(sizeof(NodeImageMultiFile),
+ "node image multi file");
+ ImageFormatData *format = nullptr;
node->storage = nimf;
if (scene) {
@@ -219,10 +222,8 @@ static void init_output_file(const bContext *C, PointerRNA *ptr)
static void free_output_file(bNode *node)
{
- bNodeSocket *sock;
-
/* free storage data in sockets */
- for (sock = node->inputs.first; sock; sock = sock->next) {
+ LISTBASE_FOREACH (bNodeSocket *, sock, &node->inputs) {
MEM_freeN(sock->storage);
}
@@ -238,37 +239,35 @@ static void copy_output_file(bNodeTree *UNUSED(dest_ntree),
dest_node->storage = MEM_dupallocN(src_node->storage);
/* duplicate storage data in sockets */
- for (src_sock = src_node->inputs.first, dest_sock = dest_node->inputs.first;
+ for (src_sock = (bNodeSocket *)src_node->inputs.first,
+ dest_sock = (bNodeSocket *)dest_node->inputs.first;
src_sock && dest_sock;
- src_sock = src_sock->next, dest_sock = dest_sock->next) {
+ src_sock = src_sock->next, dest_sock = (bNodeSocket *)dest_sock->next) {
dest_sock->storage = MEM_dupallocN(src_sock->storage);
}
}
static void update_output_file(bNodeTree *ntree, bNode *node)
{
- bNodeSocket *sock, *sock_next;
PointerRNA ptr;
/* XXX fix for T36706: remove invalid sockets added with bpy API.
* This is not ideal, but prevents crashes from missing storage.
* FileOutput node needs a redesign to support this properly.
*/
- for (sock = node->inputs.first; sock; sock = sock_next) {
- sock_next = sock->next;
- if (sock->storage == NULL) {
+ LISTBASE_FOREACH (bNodeSocket *, sock, &node->inputs) {
+ if (sock->storage == nullptr) {
nodeRemoveSocket(ntree, node, sock);
}
}
- for (sock = node->outputs.first; sock; sock = sock_next) {
- sock_next = sock->next;
+ LISTBASE_FOREACH (bNodeSocket *, sock, &node->outputs) {
nodeRemoveSocket(ntree, node, sock);
}
cmp_node_update_default(ntree, node);
/* automatically update the socket type based on linked input */
- for (sock = node->inputs.first; sock; sock = sock->next) {
+ LISTBASE_FOREACH (bNodeSocket *, sock, &node->inputs) {
if (sock->link) {
RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, sock, &ptr);
RNA_enum_set(&ptr, "type", sock->link->fromsock->type);
@@ -281,7 +280,7 @@ void register_node_type_cmp_output_file(void)
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_OUTPUT_FILE, "File Output", NODE_CLASS_OUTPUT, NODE_PREVIEW);
- node_type_socket_templates(&ntype, NULL, NULL);
+ node_type_socket_templates(&ntype, nullptr, nullptr);
ntype.initfunc_api = init_output_file;
node_type_storage(&ntype, "NodeImageMultiFile", free_output_file, copy_output_file);
node_type_update(&ntype, update_output_file);
diff --git a/source/blender/nodes/composite/nodes/node_composite_pixelate.c b/source/blender/nodes/composite/nodes/node_composite_pixelate.cc
index 6e8a28df76f..19975c21a0b 100644
--- a/source/blender/nodes/composite/nodes/node_composite_pixelate.c
+++ b/source/blender/nodes/composite/nodes/node_composite_pixelate.cc
@@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* **************** Pixelate ******************** */
diff --git a/source/blender/nodes/composite/nodes/node_composite_planetrackdeform.c b/source/blender/nodes/composite/nodes/node_composite_planetrackdeform.cc
index ab5db41e5b5..e122b710b7b 100644
--- a/source/blender/nodes/composite/nodes/node_composite_planetrackdeform.c
+++ b/source/blender/nodes/composite/nodes/node_composite_planetrackdeform.cc
@@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
static bNodeSocketTemplate cmp_node_planetrackdeform_in[] = {
{SOCK_RGBA, N_("Image"), 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE}, {-1, ""}};
@@ -34,8 +34,8 @@ static bNodeSocketTemplate cmp_node_planetrackdeform_out[] = {
static void init(bNodeTree *UNUSED(ntree), bNode *node)
{
- NodePlaneTrackDeformData *data = MEM_callocN(sizeof(NodePlaneTrackDeformData),
- "node plane track deform data");
+ NodePlaneTrackDeformData *data = (NodePlaneTrackDeformData *)MEM_callocN(
+ sizeof(NodePlaneTrackDeformData), "node plane track deform data");
data->motion_blur_samples = 16;
data->motion_blur_shutter = 0.5f;
node->storage = data;
diff --git a/source/blender/nodes/composite/nodes/node_composite_posterize.c b/source/blender/nodes/composite/nodes/node_composite_posterize.cc
index 5093e581cdc..45a98e68b4b 100644
--- a/source/blender/nodes/composite/nodes/node_composite_posterize.c
+++ b/source/blender/nodes/composite/nodes/node_composite_posterize.cc
@@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* **************** Posterize ******************** */
diff --git a/source/blender/nodes/composite/nodes/node_composite_premulkey.c b/source/blender/nodes/composite/nodes/node_composite_premulkey.cc
index be76bbf01cf..e557854c611 100644
--- a/source/blender/nodes/composite/nodes/node_composite_premulkey.c
+++ b/source/blender/nodes/composite/nodes/node_composite_premulkey.cc
@@ -21,25 +21,26 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* **************** 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_rgb.c b/source/blender/nodes/composite/nodes/node_composite_rgb.cc
index dae63f7a702..332e56e26b1 100644
--- a/source/blender/nodes/composite/nodes/node_composite_rgb.c
+++ b/source/blender/nodes/composite/nodes/node_composite_rgb.cc
@@ -21,20 +21,25 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* **************** RGB ******************** */
-static bNodeSocketTemplate cmp_node_rgb_out[] = {
- {SOCK_RGBA, N_("RGBA"), 0.5f, 0.5f, 0.5f, 1.0f},
- {-1, ""},
-};
+
+namespace blender::nodes {
+
+static void cmp_node_rgb_declare(NodeDeclarationBuilder &b)
+{
+ b.add_output<decl::Color>("RGBA").default_value({0.5f, 0.5f, 0.5f, 1.0f});
+}
+
+} // namespace blender::nodes
void register_node_type_cmp_rgb(void)
{
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_RGB, "RGB", NODE_CLASS_INPUT, 0);
- node_type_socket_templates(&ntype, NULL, cmp_node_rgb_out);
+ ntype.declare = blender::nodes::cmp_node_rgb_declare;
node_type_size_preset(&ntype, NODE_SIZE_SMALL);
nodeRegisterType(&ntype);
diff --git a/source/blender/nodes/composite/nodes/node_composite_rotate.c b/source/blender/nodes/composite/nodes/node_composite_rotate.cc
index 7dd39d5eaa1..d28b35ec9fb 100644
--- a/source/blender/nodes/composite/nodes/node_composite_rotate.c
+++ b/source/blender/nodes/composite/nodes/node_composite_rotate.cc
@@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* **************** Rotate ******************** */
diff --git a/source/blender/nodes/composite/nodes/node_composite_scale.c b/source/blender/nodes/composite/nodes/node_composite_scale.cc
index 963832de03a..3972fc0d949 100644
--- a/source/blender/nodes/composite/nodes/node_composite_scale.c
+++ b/source/blender/nodes/composite/nodes/node_composite_scale.cc
@@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* **************** Scale ******************** */
@@ -38,7 +38,7 @@ static void node_composite_update_scale(bNodeTree *UNUSED(ntree), bNode *node)
bool use_xy_scale = ELEM(node->custom1, CMP_SCALE_RELATIVE, CMP_SCALE_ABSOLUTE);
/* Only show X/Y scale factor inputs for modes using them! */
- for (sock = node->inputs.first; sock; sock = sock->next) {
+ for (sock = (bNodeSocket *)node->inputs.first; sock; sock = sock->next) {
if (STR_ELEM(sock->name, "X", "Y")) {
if (use_xy_scale) {
sock->flag &= ~SOCK_UNAVAIL;
diff --git a/source/blender/nodes/composite/nodes/node_composite_sepcombHSVA.c b/source/blender/nodes/composite/nodes/node_composite_sepcombHSVA.cc
index 001b197e23a..aa719a99b36 100644
--- a/source/blender/nodes/composite/nodes/node_composite_sepcombHSVA.c
+++ b/source/blender/nodes/composite/nodes/node_composite_sepcombHSVA.cc
@@ -21,50 +21,53 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#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.c b/source/blender/nodes/composite/nodes/node_composite_sepcombRGBA.cc
index e08f27db254..b29af1359f5 100644
--- a/source/blender/nodes/composite/nodes/node_composite_sepcombRGBA.c
+++ b/source/blender/nodes/composite/nodes/node_composite_sepcombRGBA.cc
@@ -21,50 +21,53 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#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.c b/source/blender/nodes/composite/nodes/node_composite_sepcombYCCA.cc
index b3884296600..526d6b4eb5b 100644
--- a/source/blender/nodes/composite/nodes/node_composite_sepcombYCCA.c
+++ b/source/blender/nodes/composite/nodes/node_composite_sepcombYCCA.cc
@@ -21,18 +21,22 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#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.c b/source/blender/nodes/composite/nodes/node_composite_sepcombYUVA.cc
index 4da79ec7981..4619b0c97f1 100644
--- a/source/blender/nodes/composite/nodes/node_composite_sepcombYUVA.c
+++ b/source/blender/nodes/composite/nodes/node_composite_sepcombYUVA.cc
@@ -21,48 +21,54 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#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.c b/source/blender/nodes/composite/nodes/node_composite_setalpha.cc
index 1b44cc011e9..07a7ffcb426 100644
--- a/source/blender/nodes/composite/nodes/node_composite_setalpha.c
+++ b/source/blender/nodes/composite/nodes/node_composite_setalpha.cc
@@ -21,22 +21,24 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#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)
{
- NodeSetAlpha *settings = MEM_callocN(sizeof(NodeSetAlpha), __func__);
+ NodeSetAlpha *settings = (NodeSetAlpha *)MEM_callocN(sizeof(NodeSetAlpha), __func__);
node->storage = settings;
settings->mode = CMP_NODE_SETALPHA_MODE_APPLY;
}
@@ -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_splitViewer.c b/source/blender/nodes/composite/nodes/node_composite_splitViewer.cc
index 8afb3fd4841..f64abe87116 100644
--- a/source/blender/nodes/composite/nodes/node_composite_splitViewer.c
+++ b/source/blender/nodes/composite/nodes/node_composite_splitViewer.cc
@@ -21,21 +21,26 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
#include "BKE_global.h"
#include "BKE_image.h"
/* **************** SPLIT VIEWER ******************** */
-static bNodeSocketTemplate cmp_node_splitviewer_in[] = {
- {SOCK_RGBA, N_("Image"), 0.0f, 0.0f, 0.0f, 1.0f},
- {SOCK_RGBA, N_("Image"), 0.0f, 0.0f, 0.0f, 1.0f},
- {-1, ""},
-};
+
+namespace blender::nodes {
+
+static void cmp_node_splitviewer_declare(NodeDeclarationBuilder &b)
+{
+ b.add_input<decl::Color>("Image");
+ b.add_input<decl::Color>("Image", "Image_001");
+}
+
+} // namespace blender::nodes
static void node_composit_init_splitviewer(bNodeTree *UNUSED(ntree), bNode *node)
{
- ImageUser *iuser = MEM_callocN(sizeof(ImageUser), "node image user");
+ ImageUser *iuser = (ImageUser *)MEM_callocN(sizeof(ImageUser), "node image user");
node->storage = iuser;
iuser->sfra = 1;
iuser->ok = 1;
@@ -50,12 +55,12 @@ void register_node_type_cmp_splitviewer(void)
cmp_node_type_base(
&ntype, CMP_NODE_SPLITVIEWER, "Split Viewer", NODE_CLASS_OUTPUT, NODE_PREVIEW);
- node_type_socket_templates(&ntype, cmp_node_splitviewer_in, NULL);
+ ntype.declare = blender::nodes::cmp_node_splitviewer_declare;
node_type_init(&ntype, node_composit_init_splitviewer);
node_type_storage(&ntype, "ImageUser", node_free_standard_storage, node_copy_standard_storage);
/* Do not allow muting for this node. */
- node_type_internal_links(&ntype, NULL);
+ node_type_internal_links(&ntype, nullptr);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/composite/nodes/node_composite_stabilize2d.c b/source/blender/nodes/composite/nodes/node_composite_stabilize2d.cc
index b89f245c542..e5ce2e8ceb9 100644
--- a/source/blender/nodes/composite/nodes/node_composite_stabilize2d.c
+++ b/source/blender/nodes/composite/nodes/node_composite_stabilize2d.cc
@@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
#include "BKE_context.h"
#include "BKE_lib_id.h"
@@ -40,7 +40,7 @@ static bNodeSocketTemplate cmp_node_stabilize2d_out[] = {
static void init(const bContext *C, PointerRNA *ptr)
{
- bNode *node = ptr->data;
+ bNode *node = (bNode *)ptr->data;
Scene *scene = CTX_data_scene(C);
node->id = (ID *)scene->clip;
diff --git a/source/blender/nodes/composite/nodes/node_composite_sunbeams.c b/source/blender/nodes/composite/nodes/node_composite_sunbeams.cc
index 84ab2d30d34..73907d2e27f 100644
--- a/source/blender/nodes/composite/nodes/node_composite_sunbeams.c
+++ b/source/blender/nodes/composite/nodes/node_composite_sunbeams.cc
@@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
static bNodeSocketTemplate inputs[] = {
{SOCK_RGBA, N_("Image"), 1.0f, 1.0f, 1.0f, 1.0f},
@@ -34,11 +34,10 @@ static bNodeSocketTemplate outputs[] = {
static void init(bNodeTree *UNUSED(ntree), bNode *node)
{
- NodeSunBeams *data = MEM_callocN(sizeof(NodeSunBeams), "sun beams node");
+ NodeSunBeams *data = (NodeSunBeams *)MEM_callocN(sizeof(NodeSunBeams), "sun beams node");
data->source[0] = 0.5f;
data->source[1] = 0.5f;
-
node->storage = data;
}
diff --git a/source/blender/nodes/composite/nodes/node_composite_switch.c b/source/blender/nodes/composite/nodes/node_composite_switch.cc
index efbb3390e06..71226a6da0b 100644
--- a/source/blender/nodes/composite/nodes/node_composite_switch.c
+++ b/source/blender/nodes/composite/nodes/node_composite_switch.cc
@@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
-#include "../node_composite_util.h"
+#include "../node_composite_util.hh"
/* **************** MIX RGB ******************** */
static bNodeSocketTemplate cmp_node_switch_in[] = {
diff --git a/source/blender/nodes/composite/nodes/node_composite_switchview.c b/source/blender/nodes/composite/nodes/node_composite_switchview.cc
index b09d5119bc4..a61712f7f8d 100644
--- a/source/blender/nodes/composite/nodes/node_composite_switchview.c
+++ b/source/blender/nodes/composite/nodes/node_composite_switchview.cc
@@ -25,7 +25,7 @@
#include "BKE_context.h"
#include "BKE_lib_id.h"
-#include "../node_composite_util.h"
+#include "../node_composite_util.hh"
/* **************** SWITCH VIEW ******************** */
static bNodeSocketTemplate cmp_node_switch_view_out[] = {
@@ -37,26 +37,23 @@ static bNodeSocket *ntreeCompositSwitchViewAddSocket(bNodeTree *ntree,
bNode *node,
const char *name)
{
- bNodeSocket *sock = nodeAddStaticSocket(ntree, node, SOCK_IN, SOCK_RGBA, PROP_NONE, NULL, name);
+ bNodeSocket *sock = nodeAddStaticSocket(
+ ntree, node, SOCK_IN, SOCK_RGBA, PROP_NONE, nullptr, name);
return sock;
}
static void cmp_node_switch_view_sanitycheck(bNodeTree *ntree, bNode *node)
{
- bNodeSocket *sock;
-
if (!BLI_listbase_is_empty(&node->inputs)) {
return;
}
- sock = ntreeCompositSwitchViewAddSocket(ntree, node, "No View");
+ bNodeSocket *sock = ntreeCompositSwitchViewAddSocket(ntree, node, "No View");
sock->flag |= SOCK_HIDDEN;
}
static void cmp_node_switch_view_update(bNodeTree *ntree, bNode *node)
{
- bNodeSocket *sock;
- SceneRenderView *srv;
Scene *scene = (Scene *)node->id;
/* only update when called from the operator button */
@@ -64,7 +61,7 @@ static void cmp_node_switch_view_update(bNodeTree *ntree, bNode *node)
return;
}
- if (scene == NULL) {
+ if (scene == nullptr) {
nodeRemoveAllSockets(ntree, node);
/* make sure there is always one socket */
cmp_node_switch_view_sanitycheck(ntree, node);
@@ -72,11 +69,12 @@ static void cmp_node_switch_view_update(bNodeTree *ntree, bNode *node)
}
/* remove the views that were removed */
- sock = node->inputs.last;
+ bNodeSocket *sock = (bNodeSocket *)node->inputs.last;
while (sock) {
- srv = BLI_findstring(&scene->r.views, sock->name, offsetof(SceneRenderView, name));
+ SceneRenderView *srv = (SceneRenderView *)BLI_findstring(
+ &scene->r.views, sock->name, offsetof(SceneRenderView, name));
- if (srv == NULL) {
+ if (srv == nullptr) {
bNodeSocket *sock_del = sock;
sock = sock->prev;
nodeRemoveSocket(ntree, node, sock_del);
@@ -94,10 +92,10 @@ static void cmp_node_switch_view_update(bNodeTree *ntree, bNode *node)
}
/* add the new views */
- for (srv = scene->r.views.first; srv; srv = srv->next) {
- sock = BLI_findstring(&node->inputs, srv->name, offsetof(bNodeSocket, name));
+ LISTBASE_FOREACH (SceneRenderView *, srv, &scene->r.views) {
+ sock = (bNodeSocket *)BLI_findstring(&node->inputs, srv->name, offsetof(bNodeSocket, name));
- if (sock == NULL) {
+ if (sock == nullptr) {
sock = ntreeCompositSwitchViewAddSocket(ntree, node, srv->name);
}
@@ -117,10 +115,7 @@ static void init_switch_view(const bContext *C, PointerRNA *ptr)
{
Scene *scene = CTX_data_scene(C);
bNodeTree *ntree = (bNodeTree *)ptr->owner_id;
- bNode *node = ptr->data;
- SceneRenderView *srv;
- bNodeSocket *sock;
- int nr;
+ bNode *node = (bNode *)ptr->data;
/* store scene for updates */
node->id = (ID *)scene;
@@ -129,8 +124,8 @@ static void init_switch_view(const bContext *C, PointerRNA *ptr)
if (scene) {
RenderData *rd = &scene->r;
- for (nr = 0, srv = rd->views.first; srv; srv = srv->next, nr++) {
- sock = ntreeCompositSwitchViewAddSocket(ntree, node, srv->name);
+ LISTBASE_FOREACH (SceneRenderView *, srv, &rd->views) {
+ bNodeSocket *sock = ntreeCompositSwitchViewAddSocket(ntree, node, srv->name);
if (srv->viewflag & SCE_VIEW_DISABLE) {
sock->flag |= SOCK_HIDDEN;
@@ -147,7 +142,7 @@ void register_node_type_cmp_switch_view(void)
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_SWITCH_VIEW, "Switch View", NODE_CLASS_CONVERTER, 0);
- node_type_socket_templates(&ntype, NULL, cmp_node_switch_view_out);
+ node_type_socket_templates(&ntype, nullptr, cmp_node_switch_view_out);
ntype.initfunc_api = init_switch_view;
diff --git a/source/blender/nodes/composite/nodes/node_composite_texture.c b/source/blender/nodes/composite/nodes/node_composite_texture.cc
index 50be05fe5a6..eff008b4b41 100644
--- a/source/blender/nodes/composite/nodes/node_composite_texture.c
+++ b/source/blender/nodes/composite/nodes/node_composite_texture.cc
@@ -21,26 +21,32 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* **************** TEXTURE ******************** */
-static bNodeSocketTemplate cmp_node_texture_in[] = {
- {SOCK_VECTOR, N_("Offset"), 0.0f, 0.0f, 0.0f, 0.0f, -2.0f, 2.0f, PROP_TRANSLATION},
- {SOCK_VECTOR, N_("Scale"), 1.0f, 1.0f, 1.0f, 1.0f, -10.0f, 10.0f, PROP_XYZ},
- {-1, ""},
-};
-static bNodeSocketTemplate cmp_node_texture_out[] = {
- {SOCK_FLOAT, N_("Value")},
- {SOCK_RGBA, N_("Color")},
- {-1, ""},
-};
+
+namespace blender::nodes {
+
+static void cmp_node_texture_declare(NodeDeclarationBuilder &b)
+{
+ b.add_input<decl::Vector>("Offset").min(-2.0f).max(2.0f).subtype(PROP_TRANSLATION);
+ b.add_input<decl::Vector>("Scale")
+ .default_value({1.0f, 1.0f, 1.0f})
+ .min(-10.0f)
+ .max(10.0f)
+ .subtype(PROP_XYZ);
+ b.add_output<decl::Float>("Value");
+ b.add_output<decl::Color>("Color");
+}
+
+} // namespace blender::nodes
void register_node_type_cmp_texture(void)
{
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_TEXTURE, "Texture", NODE_CLASS_INPUT, NODE_PREVIEW);
- node_type_socket_templates(&ntype, cmp_node_texture_in, cmp_node_texture_out);
+ ntype.declare = blender::nodes::cmp_node_texture_declare;
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/composite/nodes/node_composite_tonemap.c b/source/blender/nodes/composite/nodes/node_composite_tonemap.cc
index 5fc86c997f5..85fd240ce2e 100644
--- a/source/blender/nodes/composite/nodes/node_composite_tonemap.c
+++ b/source/blender/nodes/composite/nodes/node_composite_tonemap.cc
@@ -21,20 +21,21 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
-static bNodeSocketTemplate cmp_node_tonemap_in[] = {
- {SOCK_RGBA, N_("Image"), 1.0f, 1.0f, 1.0f, 1.0f},
- {-1, ""},
-};
-static bNodeSocketTemplate cmp_node_tonemap_out[] = {
- {SOCK_RGBA, N_("Image")},
- {-1, ""},
-};
+namespace blender::nodes {
+
+static void cmp_node_tonemap_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
static void node_composit_init_tonemap(bNodeTree *UNUSED(ntree), bNode *node)
{
- NodeTonemap *ntm = MEM_callocN(sizeof(NodeTonemap), "node tonemap data");
+ NodeTonemap *ntm = (NodeTonemap *)MEM_callocN(sizeof(NodeTonemap), "node tonemap data");
ntm->type = 1;
ntm->key = 0.18;
ntm->offset = 1;
@@ -53,7 +54,7 @@ void register_node_type_cmp_tonemap(void)
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_TONEMAP, "Tonemap", NODE_CLASS_OP_COLOR, 0);
- node_type_socket_templates(&ntype, cmp_node_tonemap_in, cmp_node_tonemap_out);
+ ntype.declare = blender::nodes::cmp_node_tonemap_declare;
node_type_init(&ntype, node_composit_init_tonemap);
node_type_storage(&ntype, "NodeTonemap", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/composite/nodes/node_composite_trackpos.c b/source/blender/nodes/composite/nodes/node_composite_trackpos.cc
index d59ce9b8b7a..cb5c9468daa 100644
--- a/source/blender/nodes/composite/nodes/node_composite_trackpos.c
+++ b/source/blender/nodes/composite/nodes/node_composite_trackpos.cc
@@ -21,18 +21,23 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
-static bNodeSocketTemplate cmp_node_trackpos_out[] = {
- {SOCK_FLOAT, N_("X")},
- {SOCK_FLOAT, N_("Y")},
- {SOCK_VECTOR, N_("Speed"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_VELOCITY},
- {-1, ""},
-};
+namespace blender::nodes {
+
+static void cmp_node_trackpos_declare(NodeDeclarationBuilder &b)
+{
+ b.add_output<decl::Float>("X");
+ b.add_output<decl::Float>("Y");
+ b.add_output<decl::Vector>("Speed").subtype(PROP_VELOCITY);
+}
+
+} // namespace blender::nodes
static void init(bNodeTree *UNUSED(ntree), bNode *node)
{
- NodeTrackPosData *data = MEM_callocN(sizeof(NodeTrackPosData), "node track position data");
+ NodeTrackPosData *data = (NodeTrackPosData *)MEM_callocN(sizeof(NodeTrackPosData),
+ "node track position data");
node->storage = data;
}
@@ -42,7 +47,7 @@ void register_node_type_cmp_trackpos(void)
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_TRACKPOS, "Track Position", NODE_CLASS_INPUT, 0);
- node_type_socket_templates(&ntype, NULL, cmp_node_trackpos_out);
+ ntype.declare = blender::nodes::cmp_node_trackpos_declare;
node_type_init(&ntype, init);
node_type_storage(
&ntype, "NodeTrackPosData", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/composite/nodes/node_composite_transform.c b/source/blender/nodes/composite/nodes/node_composite_transform.cc
index be526c1059c..1695101cdbf 100644
--- a/source/blender/nodes/composite/nodes/node_composite_transform.c
+++ b/source/blender/nodes/composite/nodes/node_composite_transform.cc
@@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* **************** Transform ******************** */
diff --git a/source/blender/nodes/composite/nodes/node_composite_translate.c b/source/blender/nodes/composite/nodes/node_composite_translate.cc
index 43337ec6f7e..0ee8a41a5ea 100644
--- a/source/blender/nodes/composite/nodes/node_composite_translate.c
+++ b/source/blender/nodes/composite/nodes/node_composite_translate.cc
@@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* **************** Translate ******************** */
@@ -38,7 +38,8 @@ static bNodeSocketTemplate cmp_node_translate_out[] = {
static void node_composit_init_translate(bNodeTree *UNUSED(ntree), bNode *node)
{
- NodeTranslateData *data = MEM_callocN(sizeof(NodeTranslateData), "node translate data");
+ NodeTranslateData *data = (NodeTranslateData *)MEM_callocN(sizeof(NodeTranslateData),
+ "node translate data");
node->storage = data;
}
diff --git a/source/blender/nodes/composite/nodes/node_composite_valToRgb.c b/source/blender/nodes/composite/nodes/node_composite_valToRgb.cc
index ed6dbfa2bf3..ba98ee12f30 100644
--- a/source/blender/nodes/composite/nodes/node_composite_valToRgb.c
+++ b/source/blender/nodes/composite/nodes/node_composite_valToRgb.cc
@@ -21,18 +21,20 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#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);
diff --git a/source/blender/nodes/composite/nodes/node_composite_value.c b/source/blender/nodes/composite/nodes/node_composite_value.cc
index 2ede2cb8c83..5459801bcc7 100644
--- a/source/blender/nodes/composite/nodes/node_composite_value.c
+++ b/source/blender/nodes/composite/nodes/node_composite_value.cc
@@ -21,20 +21,25 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* **************** VALUE ******************** */
-static bNodeSocketTemplate cmp_node_value_out[] = {
- {SOCK_FLOAT, N_("Value"), 0.5f, 0, 0, 0, -FLT_MAX, FLT_MAX, PROP_NONE},
- {-1, ""},
-};
+
+namespace blender::nodes {
+
+static void cmp_node_value_declare(NodeDeclarationBuilder &b)
+{
+ b.add_output<decl::Float>("Value").default_value(0.5f);
+}
+
+} // namespace blender::nodes
void register_node_type_cmp_value(void)
{
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_VALUE, "Value", NODE_CLASS_INPUT, 0);
- node_type_socket_templates(&ntype, NULL, cmp_node_value_out);
+ ntype.declare = blender::nodes::cmp_node_value_declare;
node_type_size_preset(&ntype, NODE_SIZE_SMALL);
nodeRegisterType(&ntype);
diff --git a/source/blender/nodes/composite/nodes/node_composite_vecBlur.c b/source/blender/nodes/composite/nodes/node_composite_vecBlur.cc
index 7005ea42afe..ce6ba659609 100644
--- a/source/blender/nodes/composite/nodes/node_composite_vecBlur.c
+++ b/source/blender/nodes/composite/nodes/node_composite_vecBlur.cc
@@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* **************** VECTOR BLUR ******************** */
static bNodeSocketTemplate cmp_node_vecblur_in[] = {
@@ -33,13 +33,13 @@ static bNodeSocketTemplate cmp_node_vecblur_out[] = {{SOCK_RGBA, N_("Image")}, {
static void node_composit_init_vecblur(bNodeTree *UNUSED(ntree), bNode *node)
{
- NodeBlurData *nbd = MEM_callocN(sizeof(NodeBlurData), "node blur data");
+ NodeBlurData *nbd = (NodeBlurData *)MEM_callocN(sizeof(NodeBlurData), "node blur data");
node->storage = nbd;
nbd->samples = 32;
nbd->fac = 1.0f;
}
-/* custom1: iterations, custom2: maxspeed (0 = nolimit) */
+/* custom1: iterations, custom2: max_speed (0 = no_limit). */
void register_node_type_cmp_vecblur(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_viewer.c b/source/blender/nodes/composite/nodes/node_composite_viewer.cc
index b5f74d5c937..7234d4d8eb2 100644
--- a/source/blender/nodes/composite/nodes/node_composite_viewer.c
+++ b/source/blender/nodes/composite/nodes/node_composite_viewer.cc
@@ -21,21 +21,27 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
#include "BKE_global.h"
#include "BKE_image.h"
/* **************** VIEWER ******************** */
-static bNodeSocketTemplate cmp_node_viewer_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},
- {SOCK_FLOAT, N_("Z"), 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE},
- {-1, ""}};
+
+namespace blender::nodes {
+
+static void cmp_node_viewer_declare(NodeDeclarationBuilder &b)
+{
+ b.add_input<decl::Color>("Image").default_value({0.0f, 0.0f, 0.0f, 1.0f});
+ b.add_input<decl::Float>("Alpha").default_value(1.0f).min(0.0f).max(1.0f);
+ b.add_input<decl::Float>("Z").default_value(1.0f).min(0.0f).max(1.0f);
+}
+
+} // namespace blender::nodes
static void node_composit_init_viewer(bNodeTree *UNUSED(ntree), bNode *node)
{
- ImageUser *iuser = MEM_callocN(sizeof(ImageUser), "node image user");
+ ImageUser *iuser = (ImageUser *)MEM_callocN(sizeof(ImageUser), "node image user");
node->storage = iuser;
iuser->sfra = 1;
iuser->ok = 1;
@@ -50,11 +56,11 @@ void register_node_type_cmp_viewer(void)
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_VIEWER, "Viewer", NODE_CLASS_OUTPUT, NODE_PREVIEW);
- node_type_socket_templates(&ntype, cmp_node_viewer_in, NULL);
+ ntype.declare = blender::nodes::cmp_node_viewer_declare;
node_type_init(&ntype, node_composit_init_viewer);
node_type_storage(&ntype, "ImageUser", node_free_standard_storage, node_copy_standard_storage);
- node_type_internal_links(&ntype, NULL);
+ node_type_internal_links(&ntype, nullptr);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/composite/nodes/node_composite_zcombine.c b/source/blender/nodes/composite/nodes/node_composite_zcombine.cc
index 5041b16c303..79e4d449159 100644
--- a/source/blender/nodes/composite/nodes/node_composite_zcombine.c
+++ b/source/blender/nodes/composite/nodes/node_composite_zcombine.cc
@@ -21,29 +21,31 @@
* \ingroup cmpnodes
*/
-#include "node_composite_util.h"
+#include "node_composite_util.hh"
/* **************** Z COMBINE ******************** */
-/* lazy coder NOTE: node->custom2 is abused to send signal. */
-static bNodeSocketTemplate cmp_node_zcombine_in[] = {
- {SOCK_RGBA, N_("Image"), 1.0f, 1.0f, 1.0f, 1.0f},
- {SOCK_FLOAT, N_("Z"), 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 10000.0f, PROP_NONE},
- {SOCK_RGBA, N_("Image"), 1.0f, 1.0f, 1.0f, 1.0f},
- {SOCK_FLOAT, N_("Z"), 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 10000.0f, PROP_NONE},
- {-1, ""},
-};
-static bNodeSocketTemplate cmp_node_zcombine_out[] = {
- {SOCK_RGBA, N_("Image")},
- {SOCK_FLOAT, N_("Z")},
- {-1, ""},
-};
+namespace blender::nodes {
+
+static void cmp_node_zcombine_declare(NodeDeclarationBuilder &b)
+{
+ b.add_input<decl::Color>("Image").default_value({1.0f, 1.0f, 1.0f, 1.0f});
+ b.add_input<decl::Float>("Z").default_value(1.0f).min(0.0f).max(10000.0f);
+ b.add_input<decl::Color>("Image", "Image_001").default_value({1.0f, 1.0f, 1.0f, 1.0f});
+ b.add_input<decl::Float>("Z", "Z_001").default_value(1.0f).min(0.0f).max(10000.0f);
+ b.add_output<decl::Color>("Image");
+ b.add_output<decl::Float>("Z");
+}
+
+} // namespace blender::nodes
+
+/* lazy coder NOTE: node->custom2 is abused to send signal. */
void register_node_type_cmp_zcombine(void)
{
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_ZCOMBINE, "Z Combine", NODE_CLASS_OP_COLOR, 0);
- node_type_socket_templates(&ntype, cmp_node_zcombine_in, cmp_node_zcombine_out);
+ ntype.declare = blender::nodes::cmp_node_zcombine_declare;
nodeRegisterType(&ntype);
}