Cleanup: convert compositor nodes to c++

- Many cleanups of to use list base
- Some variable changes

These change is needed to migrate to the new socket builder API

Reviewed By: manzanilla

Differential Revision: https://developer.blender.org/D12366
This commit is contained in:
Aaron Carlisle 2021-09-28 15:29:16 -04:00 committed by Aaron Carlisle
parent 87e315c237
commit c7a7c3f5e5
90 changed files with 397 additions and 430 deletions

View File

@ -45,93 +45,93 @@ set(INC
set(SRC
composite/nodes/node_composite_alphaOver.c
composite/nodes/node_composite_antialiasing.c
composite/nodes/node_composite_bilateralblur.c
composite/nodes/node_composite_blur.c
composite/nodes/node_composite_bokehblur.c
composite/nodes/node_composite_bokehimage.c
composite/nodes/node_composite_boxmask.c
composite/nodes/node_composite_brightness.c
composite/nodes/node_composite_channelMatte.c
composite/nodes/node_composite_chromaMatte.c
composite/nodes/node_composite_colorMatte.c
composite/nodes/node_composite_colorSpill.c
composite/nodes/node_composite_colorbalance.c
composite/nodes/node_composite_colorcorrection.c
composite/nodes/node_composite_common.c
composite/nodes/node_composite_composite.c
composite/nodes/node_composite_cornerpin.c
composite/nodes/node_composite_crop.c
composite/nodes/node_composite_alphaOver.cc
composite/nodes/node_composite_antialiasing.cc
composite/nodes/node_composite_bilateralblur.cc
composite/nodes/node_composite_blur.cc
composite/nodes/node_composite_bokehblur.cc
composite/nodes/node_composite_bokehimage.cc
composite/nodes/node_composite_boxmask.cc
composite/nodes/node_composite_brightness.cc
composite/nodes/node_composite_channelMatte.cc
composite/nodes/node_composite_chromaMatte.cc
composite/nodes/node_composite_colorMatte.cc
composite/nodes/node_composite_colorSpill.cc
composite/nodes/node_composite_colorbalance.cc
composite/nodes/node_composite_colorcorrection.cc
composite/nodes/node_composite_common.cc
composite/nodes/node_composite_composite.cc
composite/nodes/node_composite_cornerpin.cc
composite/nodes/node_composite_crop.cc
composite/nodes/node_composite_cryptomatte.cc
composite/nodes/node_composite_curves.c
composite/nodes/node_composite_defocus.c
composite/nodes/node_composite_denoise.c
composite/nodes/node_composite_despeckle.c
composite/nodes/node_composite_diffMatte.c
composite/nodes/node_composite_dilate.c
composite/nodes/node_composite_directionalblur.c
composite/nodes/node_composite_displace.c
composite/nodes/node_composite_distanceMatte.c
composite/nodes/node_composite_doubleEdgeMask.c
composite/nodes/node_composite_ellipsemask.c
composite/nodes/node_composite_exposure.c
composite/nodes/node_composite_filter.c
composite/nodes/node_composite_flip.c
composite/nodes/node_composite_gamma.c
composite/nodes/node_composite_glare.c
composite/nodes/node_composite_hueSatVal.c
composite/nodes/node_composite_huecorrect.c
composite/nodes/node_composite_idMask.c
composite/nodes/node_composite_image.c
composite/nodes/node_composite_inpaint.c
composite/nodes/node_composite_invert.c
composite/nodes/node_composite_keying.c
composite/nodes/node_composite_keyingscreen.c
composite/nodes/node_composite_lensdist.c
composite/nodes/node_composite_levels.c
composite/nodes/node_composite_lummaMatte.c
composite/nodes/node_composite_mapRange.c
composite/nodes/node_composite_mapUV.c
composite/nodes/node_composite_mapValue.c
composite/nodes/node_composite_mask.c
composite/nodes/node_composite_math.c
composite/nodes/node_composite_mixrgb.c
composite/nodes/node_composite_movieclip.c
composite/nodes/node_composite_moviedistortion.c
composite/nodes/node_composite_normal.c
composite/nodes/node_composite_normalize.c
composite/nodes/node_composite_outputFile.c
composite/nodes/node_composite_pixelate.c
composite/nodes/node_composite_planetrackdeform.c
composite/nodes/node_composite_posterize.c
composite/nodes/node_composite_premulkey.c
composite/nodes/node_composite_rgb.c
composite/nodes/node_composite_rotate.c
composite/nodes/node_composite_scale.c
composite/nodes/node_composite_sepcombHSVA.c
composite/nodes/node_composite_sepcombRGBA.c
composite/nodes/node_composite_sepcombYCCA.c
composite/nodes/node_composite_sepcombYUVA.c
composite/nodes/node_composite_setalpha.c
composite/nodes/node_composite_splitViewer.c
composite/nodes/node_composite_stabilize2d.c
composite/nodes/node_composite_sunbeams.c
composite/nodes/node_composite_switch.c
composite/nodes/node_composite_switchview.c
composite/nodes/node_composite_texture.c
composite/nodes/node_composite_tonemap.c
composite/nodes/node_composite_trackpos.c
composite/nodes/node_composite_transform.c
composite/nodes/node_composite_translate.c
composite/nodes/node_composite_valToRgb.c
composite/nodes/node_composite_value.c
composite/nodes/node_composite_vecBlur.c
composite/nodes/node_composite_viewer.c
composite/nodes/node_composite_zcombine.c
composite/nodes/node_composite_curves.cc
composite/nodes/node_composite_defocus.cc
composite/nodes/node_composite_denoise.cc
composite/nodes/node_composite_despeckle.cc
composite/nodes/node_composite_diffMatte.cc
composite/nodes/node_composite_dilate.cc
composite/nodes/node_composite_directionalblur.cc
composite/nodes/node_composite_displace.cc
composite/nodes/node_composite_distanceMatte.cc
composite/nodes/node_composite_doubleEdgeMask.cc
composite/nodes/node_composite_ellipsemask.cc
composite/nodes/node_composite_exposure.cc
composite/nodes/node_composite_filter.cc
composite/nodes/node_composite_flip.cc
composite/nodes/node_composite_gamma.cc
composite/nodes/node_composite_glare.cc
composite/nodes/node_composite_hueSatVal.cc
composite/nodes/node_composite_huecorrect.cc
composite/nodes/node_composite_idMask.cc
composite/nodes/node_composite_image.cc
composite/nodes/node_composite_inpaint.cc
composite/nodes/node_composite_invert.cc
composite/nodes/node_composite_keying.cc
composite/nodes/node_composite_keyingscreen.cc
composite/nodes/node_composite_lensdist.cc
composite/nodes/node_composite_levels.cc
composite/nodes/node_composite_lummaMatte.cc
composite/nodes/node_composite_mapRange.cc
composite/nodes/node_composite_mapUV.cc
composite/nodes/node_composite_mapValue.cc
composite/nodes/node_composite_mask.cc
composite/nodes/node_composite_math.cc
composite/nodes/node_composite_mixrgb.cc
composite/nodes/node_composite_movieclip.cc
composite/nodes/node_composite_moviedistortion.cc
composite/nodes/node_composite_normal.cc
composite/nodes/node_composite_normalize.cc
composite/nodes/node_composite_outputFile.cc
composite/nodes/node_composite_pixelate.cc
composite/nodes/node_composite_planetrackdeform.cc
composite/nodes/node_composite_posterize.cc
composite/nodes/node_composite_premulkey.cc
composite/nodes/node_composite_rgb.cc
composite/nodes/node_composite_rotate.cc
composite/nodes/node_composite_scale.cc
composite/nodes/node_composite_sepcombHSVA.cc
composite/nodes/node_composite_sepcombRGBA.cc
composite/nodes/node_composite_sepcombYCCA.cc
composite/nodes/node_composite_sepcombYUVA.cc
composite/nodes/node_composite_setalpha.cc
composite/nodes/node_composite_splitViewer.cc
composite/nodes/node_composite_stabilize2d.cc
composite/nodes/node_composite_sunbeams.cc
composite/nodes/node_composite_switch.cc
composite/nodes/node_composite_switchview.cc
composite/nodes/node_composite_texture.cc
composite/nodes/node_composite_tonemap.cc
composite/nodes/node_composite_trackpos.cc
composite/nodes/node_composite_transform.cc
composite/nodes/node_composite_translate.cc
composite/nodes/node_composite_valToRgb.cc
composite/nodes/node_composite_value.cc
composite/nodes/node_composite_vecBlur.cc
composite/nodes/node_composite_viewer.cc
composite/nodes/node_composite_zcombine.cc
composite/node_composite_tree.c
composite/node_composite_util.c
composite/node_composite_tree.cc
composite/node_composite_util.cc
function/nodes/legacy/node_fn_random_float.cc
@ -383,7 +383,7 @@ set(SRC
intern/node_util.c
intern/type_conversions.cc
composite/node_composite_util.h
composite/node_composite_util.hh
function/node_function_util.hh
shader/node_shader_util.h
geometry/node_geometry_util.hh

View File

@ -145,7 +145,7 @@ void node_cmp_rlayers_register_pass(struct bNodeTree *ntree,
struct Scene *scene,
struct ViewLayer *view_layer,
const char *name,
int type);
eNodeSocketDatatype type);
const char *node_cmp_rlayers_sock_to_pass(int sock_index);
void register_node_type_cmp_custom_group(bNodeType *ntype);

View File

@ -21,7 +21,7 @@
* \ingroup nodes
*/
#include <stdio.h>
#include <cstdio>
#include "DNA_color_types.h"
#include "DNA_node_types.h"
@ -41,7 +41,7 @@
#include "RNA_access.h"
#include "NOD_composite.h"
#include "node_composite_util.h"
#include "node_composite_util.hh"
#ifdef WITH_COMPOSITOR
# include "COM_compositor.h"
@ -55,7 +55,7 @@ static void composite_get_from_context(const bContext *C,
{
Scene *scene = CTX_data_scene(C);
*r_from = NULL;
*r_from = nullptr;
*r_id = &scene->id;
*r_ntree = scene->nodetree;
}
@ -77,19 +77,16 @@ static void foreach_nodeclass(Scene *UNUSED(scene), void *calldata, bNodeClassCa
static void free_node_cache(bNodeTree *UNUSED(ntree), bNode *node)
{
bNodeSocket *sock;
for (sock = node->outputs.first; sock; sock = sock->next) {
LISTBASE_FOREACH (bNodeSocket *, sock, &node->outputs) {
if (sock->cache) {
sock->cache = NULL;
sock->cache = nullptr;
}
}
}
static void free_cache(bNodeTree *ntree)
{
bNode *node;
for (node = ntree->nodes.first; node; node = node->next) {
LISTBASE_FOREACH (bNode *, node, &ntree->nodes) {
free_node_cache(ntree, node);
}
}
@ -98,9 +95,9 @@ static void free_cache(bNodeTree *ntree)
static void localize(bNodeTree *localtree, bNodeTree *ntree)
{
bNode *node = ntree->nodes.first;
bNode *local_node = localtree->nodes.first;
while (node != NULL) {
bNode *node = (bNode *)ntree->nodes.first;
bNode *local_node = (bNode *)localtree->nodes.first;
while (node != nullptr) {
/* Ensure new user input gets handled ok. */
node->need_exec = 0;
@ -115,16 +112,16 @@ static void localize(bNodeTree *localtree, bNodeTree *ntree)
local_node->id = (ID *)node->id;
}
else {
local_node->id = NULL;
local_node->id = nullptr;
}
}
}
bNodeSocket *output_sock = node->outputs.first;
bNodeSocket *local_output_sock = local_node->outputs.first;
while (output_sock != NULL) {
bNodeSocket *output_sock = (bNodeSocket *)node->outputs.first;
bNodeSocket *local_output_sock = (bNodeSocket *)local_node->outputs.first;
while (output_sock != nullptr) {
local_output_sock->cache = output_sock->cache;
output_sock->cache = NULL;
output_sock->cache = nullptr;
/* This is actually link to original: someone was just lazy enough and tried to save few
* bytes in the cost of readability. */
local_output_sock->new_sock = output_sock;
@ -151,7 +148,7 @@ static void local_merge(Main *bmain, bNodeTree *localtree, bNodeTree *ntree)
/* move over the compbufs and previews */
BKE_node_preview_merge_tree(ntree, localtree, true);
for (lnode = localtree->nodes.first; lnode; lnode = lnode->next) {
for (lnode = (bNode *)localtree->nodes.first; lnode; lnode = lnode->next) {
if (ntreeNodeExists(ntree, lnode->new_node)) {
if (ELEM(lnode->type, CMP_NODE_VIEWER, CMP_NODE_SPLITVIEWER)) {
if (lnode->id && (lnode->flag & NODE_DO_OUTPUT)) {
@ -165,18 +162,19 @@ static void local_merge(Main *bmain, bNodeTree *localtree, bNodeTree *ntree)
* copied back to original node */
if (lnode->storage) {
if (lnode->new_node->storage) {
BKE_tracking_distortion_free(lnode->new_node->storage);
BKE_tracking_distortion_free((MovieDistortion *)lnode->new_node->storage);
}
lnode->new_node->storage = BKE_tracking_distortion_copy(lnode->storage);
lnode->new_node->storage = BKE_tracking_distortion_copy(
(MovieDistortion *)lnode->storage);
}
}
for (lsock = lnode->outputs.first; lsock; lsock = lsock->next) {
for (lsock = (bNodeSocket *)lnode->outputs.first; lsock; lsock = lsock->next) {
if (ntreeOutputExists(lnode->new_node, lsock->new_sock)) {
lsock->new_sock->cache = lsock->cache;
lsock->cache = NULL;
lsock->new_sock = NULL;
lsock->cache = nullptr;
lsock->new_sock = nullptr;
}
}
}
@ -216,8 +214,8 @@ bNodeTreeType *ntreeType_Composite;
void register_node_tree_type_cmp(void)
{
bNodeTreeType *tt = ntreeType_Composite = MEM_callocN(sizeof(bNodeTreeType),
"compositor node tree type");
bNodeTreeType *tt = ntreeType_Composite = (bNodeTreeType *)MEM_callocN(
sizeof(bNodeTreeType), "compositor node tree type");
tt->type = NTREE_COMPOSIT;
strcpy(tt->idname, "CompositorNodeTree");
@ -241,9 +239,6 @@ void register_node_tree_type_cmp(void)
ntreeTypeAdd(tt);
}
extern void *COM_linker_hack; /* Quiet warning. */
void *COM_linker_hack = NULL;
void ntreeCompositExecTree(Scene *scene,
bNodeTree *ntree,
RenderData *rd,
@ -276,13 +271,11 @@ void ntreeCompositExecTree(Scene *scene,
*/
void ntreeCompositUpdateRLayers(bNodeTree *ntree)
{
bNode *node;
if (ntree == NULL) {
if (ntree == nullptr) {
return;
}
for (node = ntree->nodes.first; node; node = node->next) {
LISTBASE_FOREACH (bNode *, node, &ntree->nodes) {
if (node->type == CMP_NODE_R_LAYERS) {
node_cmp_rlayers_outputs(ntree, node);
}
@ -295,13 +288,11 @@ void ntreeCompositRegisterPass(bNodeTree *ntree,
const char *name,
eNodeSocketDatatype type)
{
bNode *node;
if (ntree == NULL) {
if (ntree == nullptr) {
return;
}
for (node = ntree->nodes.first; node; node = node->next) {
LISTBASE_FOREACH (bNode *, node, &ntree->nodes) {
if (node->type == CMP_NODE_R_LAYERS) {
node_cmp_rlayers_register_pass(ntree, node, scene, view_layer, name, type);
}
@ -317,11 +308,10 @@ void ntreeCompositTagRender(Scene *scene)
* This is still rather weak though,
* ideally render struct would store own main AND original G_MAIN. */
for (Scene *sce_iter = G_MAIN->scenes.first; sce_iter; sce_iter = sce_iter->id.next) {
for (Scene *sce_iter = (Scene *)G_MAIN->scenes.first; sce_iter;
sce_iter = (Scene *)sce_iter->id.next) {
if (sce_iter->nodetree) {
bNode *node;
for (node = sce_iter->nodetree->nodes.first; node; node = node->next) {
LISTBASE_FOREACH (bNode *, node, &sce_iter->nodetree->nodes) {
if (node->id == (ID *)scene || node->type == CMP_NODE_COMPOSITE) {
nodeUpdate(sce_iter->nodetree, node);
}
@ -336,13 +326,11 @@ void ntreeCompositTagRender(Scene *scene)
/* XXX after render animation system gets a refresh, this call allows composite to end clean */
void ntreeCompositClearTags(bNodeTree *ntree)
{
bNode *node;
if (ntree == NULL) {
if (ntree == nullptr) {
return;
}
for (node = ntree->nodes.first; node; node = node->next) {
LISTBASE_FOREACH (bNode *, node, &ntree->nodes) {
node->need_exec = 0;
if (node->type == NODE_GROUP) {
ntreeCompositClearTags((bNodeTree *)node->id);

View File

@ -21,7 +21,7 @@
* \ingroup nodes
*/
#include "node_composite_util.h"
#include "node_composite_util.hh"
bool cmp_node_poll_default(bNodeType *UNUSED(ntype),
bNodeTree *ntree,
@ -36,11 +36,10 @@ bool cmp_node_poll_default(bNodeType *UNUSED(ntype),
void cmp_node_update_default(bNodeTree *UNUSED(ntree), bNode *node)
{
bNodeSocket *sock;
for (sock = node->outputs.first; sock; sock = sock->next) {
LISTBASE_FOREACH (bNodeSocket *, sock, &node->outputs) {
if (sock->cache) {
// free_compbuf(sock->cache);
// sock->cache = NULL;
// sock->cache = nullptr;
}
}
node->need_exec = 1;

View File

@ -48,19 +48,11 @@
/* only for forward declarations */
#include "NOD_composite.h"
#ifdef __cplusplus
extern "C" {
#endif
#define CMP_SCALE_MAX 12000
bool cmp_node_poll_default(struct bNodeType *ntype,
struct bNodeTree *ntree,
const char **r_disabled_info);
const char **r_disabled_hint);
void cmp_node_update_default(struct bNodeTree *ntree, struct bNode *node);
void cmp_node_type_base(
struct bNodeType *ntype, int type, const char *name, short nclass, short flag);
#ifdef __cplusplus
}
#endif

View File

@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
#include "node_composite_util.h"
#include "node_composite_util.hh"
/* **************** ALPHAOVER ******************** */
static bNodeSocketTemplate cmp_node_alphaover_in[] = {

View File

@ -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;

View File

@ -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;

View File

@ -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;
}

View File

@ -22,7 +22,7 @@
* \ingroup cmpnodes
*/
#include "../node_composite_util.h"
#include "../node_composite_util.hh"
/* **************** BLUR ******************** */
static bNodeSocketTemplate cmp_node_bokehblur_in[] = {

View File

@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
#include "../node_composite_util.h"
#include "../node_composite_util.hh"
/* **************** Bokeh image Tools ******************** */
@ -32,7 +32,7 @@ static bNodeSocketTemplate cmp_node_bokehimage_out[] = {
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 +46,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);
node_type_socket_templates(&ntype, nullptr, cmp_node_bokehimage_out);
node_type_init(&ntype, node_composit_init_bokehimage);
node_type_storage(
&ntype, "NodeBokehImage", node_free_standard_storage, node_copy_standard_storage);

View File

@ -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;

View File

@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
#include "node_composite_util.h"
#include "node_composite_util.hh"
/* **************** Brigh and contrsast ******************** */

View File

@ -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;

View File

@ -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);

View File

@ -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;

View File

@ -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 */

View File

@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
#include "node_composite_util.h"
#include "node_composite_util.hh"
/* ******************* Color Balance ********************************* */
static bNodeSocketTemplate cmp_node_colorbalance_in[] = {
@ -43,10 +43,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 +54,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 +66,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 +76,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)

View File

@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
#include "node_composite_util.h"
#include "node_composite_util.hh"
/* ******************* Color Balance ********************************* */
static bNodeSocketTemplate cmp_node_colorcorrection_in[] = {
@ -37,8 +37,8 @@ static bNodeSocketTemplate cmp_node_colorcorrection_out[] = {
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 +62,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)

View File

@ -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;
}
}

View File

@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
#include "node_composite_util.h"
#include "node_composite_util.hh"
/* **************** COMPOSITE ******************** */
static bNodeSocketTemplate cmp_node_composite_in[] = {
@ -36,10 +36,10 @@ 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);
node_type_socket_templates(&ntype, cmp_node_composite_in, nullptr);
/* Do not allow muting for this node. */
node_type_internal_links(&ntype, NULL);
node_type_internal_links(&ntype, nullptr);
nodeRegisterType(&ntype);
}

View File

@ -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},

View File

@ -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;

View File

@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
#include "node_composite_util.h"
#include "node_composite_util.hh"
#include "BLI_assert.h"
#include "BLI_dynstr.h"

View File

@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
#include "node_composite_util.h"
#include "node_composite_util.hh"
/* **************** CURVE Time ******************** */
@ -43,7 +43,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);
node_type_socket_templates(&ntype, nullptr, cmp_node_time_out);
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);

View File

@ -21,9 +21,9 @@
* \ingroup cmpnodes
*/
#include "node_composite_util.h"
#include "node_composite_util.hh"
#include <limits.h>
#include <climits>
/* ************ qdn: Defocus node ****************** */
static bNodeSocketTemplate cmp_node_defocus_in[] = {
@ -39,7 +39,7 @@ 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");
NodeDefocus *nbd = (NodeDefocus *)MEM_callocN(sizeof(NodeDefocus), "node defocus data");
nbd->bktype = 0;
nbd->rotation = 0.0f;
nbd->preview = 1;

View File

@ -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;

View File

@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
#include "node_composite_util.h"
#include "node_composite_util.hh"
/* **************** FILTER ******************** */
static bNodeSocketTemplate cmp_node_despeckle_in[] = {

View File

@ -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;

View File

@ -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;
}

View File

@ -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;

View File

@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
#include "node_composite_util.h"
#include "node_composite_util.hh"
/* **************** Displace ******************** */

View File

@ -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;

View File

@ -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[] = {

View File

@ -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;

View File

@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
#include "node_composite_util.h"
#include "node_composite_util.hh"
/* **************** Exposure ******************** */

View File

@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
#include "node_composite_util.h"
#include "node_composite_util.hh"
/* **************** FILTER ******************** */
static bNodeSocketTemplate cmp_node_filter_in[] = {

View File

@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
#include "node_composite_util.h"
#include "node_composite_util.hh"
/* **************** Flip ******************** */
static bNodeSocketTemplate cmp_node_flip_in[] = {

View File

@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
#include "node_composite_util.h"
#include "node_composite_util.hh"
/* **************** Gamma Tools ******************** */

View File

@ -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;

View File

@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
#include "node_composite_util.h"
#include "node_composite_util.hh"
/* **************** Hue Saturation ******************** */
static bNodeSocketTemplate cmp_node_hue_sat_in[] = {

View File

@ -21,7 +21,7 @@
* \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},
@ -36,12 +36,13 @@ static bNodeSocketTemplate cmp_node_huecorrect_out[] = {
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);
}

View File

@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
#include "node_composite_util.h"
#include "node_composite_util.hh"
/* **************** ID Mask ******************** */

View File

@ -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
@ -144,15 +146,14 @@ static void cmp_node_image_create_outputs(bNodeTree *ntree,
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 +183,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 +220,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 +236,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 +282,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 +298,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 +317,7 @@ static void cmp_node_rlayer_create_outputs(bNodeTree *ntree,
}
MEM_freeN(data);
node->storage = NULL;
node->storage = nullptr;
return;
}
@ -348,8 +350,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 +370,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 +393,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 +408,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 +421,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 +435,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 +468,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 +478,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 +511,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 +526,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 +539,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 +561,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);

View File

@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
#include "node_composite_util.h"
#include "node_composite_util.hh"
/* **************** Inpaint/ ******************** */

View File

@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
#include "node_composite_util.h"
#include "node_composite_util.hh"
/* **************** INVERT ******************** */
static bNodeSocketTemplate cmp_node_invert_in[] = {

View File

@ -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;
}

View File

@ -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);

View File

@ -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;
}

View File

@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
#include "node_composite_util.h"
#include "node_composite_util.hh"
/* **************** LEVELS ******************** */
static bNodeSocketTemplate cmp_node_view_levels_in[] = {

View File

@ -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;

View File

@ -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[] = {

View File

@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
#include "node_composite_util.h"
#include "node_composite_util.hh"
/* **************** Map UV ******************** */

View File

@ -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[] = {

View File

@ -23,7 +23,7 @@
#include "DNA_mask_types.h"
#include "node_composite_util.h"
#include "node_composite_util.hh"
/* **************** Translate ******************** */
@ -31,7 +31,7 @@ static bNodeSocketTemplate cmp_node_mask_out[] = {{SOCK_FLOAT, "Mask"}, {-1, ""}
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 +41,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 +54,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);
node_type_socket_templates(&ntype, nullptr, cmp_node_mask_out);
node_type_init(&ntype, node_composit_init_mask);
node_type_label(&ntype, node_mask_label);

View File

@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
#include "node_composite_util.h"
#include "node_composite_util.hh"
/* **************** SCALAR MATH ******************** */
static bNodeSocketTemplate cmp_node_math_in[] = {

View File

@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
#include "node_composite_util.h"
#include "node_composite_util.hh"
/* **************** MIX RGB ******************** */
static bNodeSocketTemplate cmp_node_mix_rgb_in[] = {

View File

@ -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"
@ -38,9 +38,10 @@ static bNodeSocketTemplate cmp_node_movieclip_out[] = {
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 +54,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);
node_type_socket_templates(&ntype, nullptr, cmp_node_movieclip_out);
ntype.initfunc_api = init;
node_type_storage(
&ntype, "MovieClipUser", node_free_standard_storage, node_copy_standard_storage);

View File

@ -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);
}

View File

@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
#include "node_composite_util.h"
#include "node_composite_util.hh"
/* **************** NORMAL ******************** */
static bNodeSocketTemplate cmp_node_normal_in[] = {

View File

@ -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[] = {

View File

@ -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);

View File

@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
#include "node_composite_util.h"
#include "node_composite_util.hh"
/* **************** Pixelate ******************** */

View File

@ -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;

View File

@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
#include "node_composite_util.h"
#include "node_composite_util.hh"
/* **************** Posterize ******************** */

View File

@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
#include "node_composite_util.h"
#include "node_composite_util.hh"
/* **************** Premul and Key Alpha Convert ******************** */

View File

@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
#include "node_composite_util.h"
#include "node_composite_util.hh"
/* **************** RGB ******************** */
static bNodeSocketTemplate cmp_node_rgb_out[] = {
@ -34,7 +34,7 @@ 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);
node_type_socket_templates(&ntype, nullptr, cmp_node_rgb_out);
node_type_size_preset(&ntype, NODE_SIZE_SMALL);
nodeRegisterType(&ntype);

View File

@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
#include "node_composite_util.h"
#include "node_composite_util.hh"
/* **************** Rotate ******************** */

View File

@ -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;

View File

@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
#include "node_composite_util.h"
#include "node_composite_util.hh"
/* **************** SEPARATE HSVA ******************** */
static bNodeSocketTemplate cmp_node_sephsva_in[] = {

View File

@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
#include "node_composite_util.h"
#include "node_composite_util.hh"
/* **************** SEPARATE RGBA ******************** */
static bNodeSocketTemplate cmp_node_seprgba_in[] = {

View File

@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
#include "node_composite_util.h"
#include "node_composite_util.hh"
/* **************** SEPARATE YCCA ******************** */
static bNodeSocketTemplate cmp_node_sepycca_in[] = {

View File

@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
#include "node_composite_util.h"
#include "node_composite_util.hh"
/* **************** SEPARATE YUVA ******************** */
static bNodeSocketTemplate cmp_node_sepyuva_in[] = {

View File

@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
#include "node_composite_util.h"
#include "node_composite_util.hh"
/* **************** SET ALPHA ******************** */
static bNodeSocketTemplate cmp_node_setalpha_in[] = {
@ -36,7 +36,7 @@ static bNodeSocketTemplate cmp_node_setalpha_out[] = {
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;
}

View File

@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
#include "node_composite_util.h"
#include "node_composite_util.hh"
#include "BKE_global.h"
#include "BKE_image.h"
@ -35,7 +35,7 @@ static bNodeSocketTemplate cmp_node_splitviewer_in[] = {
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 +50,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);
node_type_socket_templates(&ntype, cmp_node_splitviewer_in, nullptr);
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);
}

View File

@ -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;

View File

@ -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;
}

View File

@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
#include "../node_composite_util.h"
#include "../node_composite_util.hh"
/* **************** MIX RGB ******************** */
static bNodeSocketTemplate cmp_node_switch_in[] = {

View File

@ -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;

View File

@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
#include "node_composite_util.h"
#include "node_composite_util.hh"
/* **************** TEXTURE ******************** */
static bNodeSocketTemplate cmp_node_texture_in[] = {

View File

@ -21,7 +21,7 @@
* \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},
@ -34,7 +34,7 @@ static bNodeSocketTemplate cmp_node_tonemap_out[] = {
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;

View File

@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
#include "node_composite_util.h"
#include "node_composite_util.hh"
static bNodeSocketTemplate cmp_node_trackpos_out[] = {
{SOCK_FLOAT, N_("X")},
@ -32,7 +32,8 @@ static bNodeSocketTemplate cmp_node_trackpos_out[] = {
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 +43,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);
node_type_socket_templates(&ntype, nullptr, cmp_node_trackpos_out);
node_type_init(&ntype, init);
node_type_storage(
&ntype, "NodeTrackPosData", node_free_standard_storage, node_copy_standard_storage);

View File

@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
#include "node_composite_util.h"
#include "node_composite_util.hh"
/* **************** Transform ******************** */

View File

@ -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;
}

View File

@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
#include "node_composite_util.h"
#include "node_composite_util.hh"
/* **************** VALTORGB ******************** */
static bNodeSocketTemplate cmp_node_valtorgb_in[] = {

View File

@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
#include "node_composite_util.h"
#include "node_composite_util.hh"
/* **************** VALUE ******************** */
static bNodeSocketTemplate cmp_node_value_out[] = {
@ -34,7 +34,7 @@ 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);
node_type_socket_templates(&ntype, nullptr, cmp_node_value_out);
node_type_size_preset(&ntype, NODE_SIZE_SMALL);
nodeRegisterType(&ntype);

View File

@ -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,7 +33,7 @@ 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;

View File

@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
#include "node_composite_util.h"
#include "node_composite_util.hh"
#include "BKE_global.h"
#include "BKE_image.h"
@ -35,7 +35,7 @@ static bNodeSocketTemplate cmp_node_viewer_in[] = {
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 +50,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);
node_type_socket_templates(&ntype, cmp_node_viewer_in, nullptr);
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);
}

View File

@ -21,7 +21,7 @@
* \ingroup cmpnodes
*/
#include "node_composite_util.h"
#include "node_composite_util.hh"
/* **************** Z COMBINE ******************** */
/* lazy coder NOTE: node->custom2 is abused to send signal. */

View File

@ -373,13 +373,6 @@ void WM_init(bContext *C, int argc, const char **argv)
BLI_strncpy(G.lib, BKE_main_blendfile_path_from_global(), sizeof(G.lib));
#ifdef WITH_COMPOSITOR
if (1) {
extern void *COM_linker_hack;
COM_linker_hack = COM_execute;
}
#endif
wm_homefile_read_post(C, params_file_read_post);
}