[Bf-blender-cvs] [bab47b60cb6] master: DNA: Add space clip editor defaults

Simon Lenz noreply at git.blender.org
Wed Jan 12 18:04:59 CET 2022


Commit: bab47b60cb69c500869a3339654ad7d48dddf385
Author: Simon Lenz
Date:   Wed Jan 12 18:02:08 2022 +0100
Branches: master
https://developer.blender.org/rBbab47b60cb69c500869a3339654ad7d48dddf385

DNA: Add space clip editor defaults

This is my attempt of adding defaults for the space clip editor struct
(in line with https://developer.blender.org/T80164).

It adds the default allocation for `SpaceClip` and
`node_composite_movieclip.cc`. This also solves the error below (for
C++ files using the DNA_default_alloc), which was put forward by
Sergey Sharybin.

Differential Revision: https://developer.blender.org/D13367

Reviewed by: Julian Eisel

===================================================================

M	source/blender/blenkernel/intern/mask.c
M	source/blender/blenkernel/intern/movieclip.c
M	source/blender/blenkernel/intern/tracking_region_tracker.c
M	source/blender/compositor/CMakeLists.txt
M	source/blender/compositor/operations/COM_KeyingScreenOperation.cc
M	source/blender/compositor/operations/COM_MovieDistortionOperation.cc
M	source/blender/compositor/operations/COM_PlaneTrackOperation.cc
M	source/blender/compositor/operations/COM_TrackPositionOperation.cc
M	source/blender/editors/space_clip/CMakeLists.txt
M	source/blender/editors/space_clip/clip_editor.c
M	source/blender/editors/space_clip/clip_ops.c
M	source/blender/editors/space_clip/space_clip.c
M	source/blender/makesdna/DNA_defaults.h
M	source/blender/makesdna/DNA_movieclip_defaults.h
A	source/blender/makesdna/DNA_space_defaults.h
M	source/blender/makesdna/intern/CMakeLists.txt
M	source/blender/makesdna/intern/dna_defaults.c
M	source/blender/makesrna/intern/CMakeLists.txt
M	source/blender/makesrna/intern/rna_mask.c
M	source/blender/makesrna/intern/rna_tracking.c
M	source/blender/nodes/CMakeLists.txt
M	source/blender/nodes/composite/CMakeLists.txt
M	source/blender/nodes/composite/nodes/node_composite_movieclip.cc
M	source/blender/sequencer/intern/render.c

===================================================================

diff --git a/source/blender/blenkernel/intern/mask.c b/source/blender/blenkernel/intern/mask.c
index 6f498c5c9e7..12bbab57cf2 100644
--- a/source/blender/blenkernel/intern/mask.c
+++ b/source/blender/blenkernel/intern/mask.c
@@ -38,6 +38,7 @@
 
 #include "BLT_translation.h"
 
+#include "DNA_defaults.h"
 #include "DNA_mask_types.h"
 
 #include "BKE_animsys.h"
@@ -1308,7 +1309,7 @@ void BKE_mask_point_parent_matrix_get(MaskSplinePoint *point,
       MovieTrackingObject *ob = BKE_tracking_object_get_named(tracking, parent->parent);
 
       if (ob) {
-        MovieClipUser user = {0};
+        MovieClipUser user = *DNA_struct_default_get(MovieClipUser);
         float clip_framenr = BKE_movieclip_remap_scene_to_clip_frame(clip, ctime);
         BKE_movieclip_user_set_frame(&user, ctime);
 
diff --git a/source/blender/blenkernel/intern/movieclip.c b/source/blender/blenkernel/intern/movieclip.c
index e8975c82c46..88da789cdc4 100644
--- a/source/blender/blenkernel/intern/movieclip.c
+++ b/source/blender/blenkernel/intern/movieclip.c
@@ -953,7 +953,7 @@ static MovieClip *movieclip_alloc(Main *bmain, const char *name)
 static void movieclip_load_get_size(MovieClip *clip)
 {
   int width, height;
-  MovieClipUser user = {0};
+  MovieClipUser user = *DNA_struct_default_get(MovieClipUser);
 
   user.framenr = BKE_movieclip_remap_clip_to_scene_frame(clip, 1);
   BKE_movieclip_get_size(clip, &user, &width, &height);
diff --git a/source/blender/blenkernel/intern/tracking_region_tracker.c b/source/blender/blenkernel/intern/tracking_region_tracker.c
index 2265c05463b..4b23f74bc8f 100644
--- a/source/blender/blenkernel/intern/tracking_region_tracker.c
+++ b/source/blender/blenkernel/intern/tracking_region_tracker.c
@@ -26,6 +26,7 @@
 
 #include "MEM_guardedalloc.h"
 
+#include "DNA_defaults.h"
 #include "DNA_movieclip_types.h"
 
 #include "BLI_threads.h"
@@ -322,7 +323,7 @@ void BKE_tracking_refine_marker(MovieClip *clip,
   int search_area_height, search_area_width;
   int clip_flag = clip->flag & MCLIP_TIMECODE_FLAGS;
   int reference_framenr;
-  MovieClipUser user = {0};
+  MovieClipUser user = *DNA_struct_default_get(MovieClipUser);
   double dst_pixel_x[5], dst_pixel_y[5];
   bool tracked;
 
diff --git a/source/blender/compositor/CMakeLists.txt b/source/blender/compositor/CMakeLists.txt
index 905d1443002..af0ac6aee2e 100644
--- a/source/blender/compositor/CMakeLists.txt
+++ b/source/blender/compositor/CMakeLists.txt
@@ -40,6 +40,9 @@ set(INC
   ../../../intern/atomic
   ../../../intern/guardedalloc
   ../../../intern/clog
+
+  # dna_type_offsets.h
+  ${CMAKE_CURRENT_BINARY_DIR}/../makesdna/intern
 )
 
 set(INC_SYS
diff --git a/source/blender/compositor/operations/COM_KeyingScreenOperation.cc b/source/blender/compositor/operations/COM_KeyingScreenOperation.cc
index aa92c5c0c2b..5d12f29b83f 100644
--- a/source/blender/compositor/operations/COM_KeyingScreenOperation.cc
+++ b/source/blender/compositor/operations/COM_KeyingScreenOperation.cc
@@ -18,6 +18,8 @@
 
 #include "COM_KeyingScreenOperation.h"
 
+#include "DNA_defaults.h"
+
 #include "BKE_movieclip.h"
 #include "BKE_tracking.h"
 
@@ -75,7 +77,7 @@ void KeyingScreenOperation::deinit_execution()
 
 KeyingScreenOperation::TriangulationData *KeyingScreenOperation::build_voronoi_triangulation()
 {
-  MovieClipUser user = {0};
+  MovieClipUser user = *DNA_struct_default_get(MovieClipUser);
   TriangulationData *triangulation;
   MovieTracking *tracking = &movie_clip_->tracking;
   MovieTrackingTrack *track;
@@ -301,7 +303,7 @@ void KeyingScreenOperation::determine_canvas(const rcti &preferred_area, rcti &r
   r_area = COM_AREA_NONE;
 
   if (movie_clip_) {
-    MovieClipUser user = {0};
+    MovieClipUser user = *DNA_struct_default_get(MovieClipUser);
     int width, height;
     int clip_frame = BKE_movieclip_remap_scene_to_clip_frame(movie_clip_, framenumber_);
 
diff --git a/source/blender/compositor/operations/COM_MovieDistortionOperation.cc b/source/blender/compositor/operations/COM_MovieDistortionOperation.cc
index d04a970bc03..b25073394a2 100644
--- a/source/blender/compositor/operations/COM_MovieDistortionOperation.cc
+++ b/source/blender/compositor/operations/COM_MovieDistortionOperation.cc
@@ -18,6 +18,8 @@
 
 #include "COM_MovieDistortionOperation.h"
 
+#include "DNA_defaults.h"
+
 #include "BKE_movieclip.h"
 
 namespace blender::compositor {
@@ -36,7 +38,7 @@ void MovieDistortionOperation::init_data()
 {
   if (movie_clip_) {
     MovieTracking *tracking = &movie_clip_->tracking;
-    MovieClipUser clip_user = {0};
+    MovieClipUser clip_user = *DNA_struct_default_get(MovieClipUser);
     int calibration_width, calibration_height;
 
     BKE_movieclip_user_set_frame(&clip_user, framenumber_);
diff --git a/source/blender/compositor/operations/COM_PlaneTrackOperation.cc b/source/blender/compositor/operations/COM_PlaneTrackOperation.cc
index 28da200c615..cb73fa9af7b 100644
--- a/source/blender/compositor/operations/COM_PlaneTrackOperation.cc
+++ b/source/blender/compositor/operations/COM_PlaneTrackOperation.cc
@@ -18,6 +18,8 @@
 
 #include "COM_PlaneTrackOperation.h"
 
+#include "DNA_defaults.h"
+
 #include "BKE_movieclip.h"
 #include "BKE_tracking.h"
 
@@ -80,7 +82,7 @@ void PlaneTrackCommon::determine_canvas(const rcti &preferred_area, rcti &r_area
   r_area = COM_AREA_NONE;
   if (movie_clip_) {
     int width, height;
-    MovieClipUser user = {0};
+    MovieClipUser user = *DNA_struct_default_get(MovieClipUser);
     BKE_movieclip_user_set_frame(&user, framenumber_);
     BKE_movieclip_get_size(movie_clip_, &user, &width, &height);
     r_area = preferred_area;
diff --git a/source/blender/compositor/operations/COM_TrackPositionOperation.cc b/source/blender/compositor/operations/COM_TrackPositionOperation.cc
index fc6be97a29c..61ce750a2f4 100644
--- a/source/blender/compositor/operations/COM_TrackPositionOperation.cc
+++ b/source/blender/compositor/operations/COM_TrackPositionOperation.cc
@@ -18,6 +18,8 @@
 
 #include "COM_TrackPositionOperation.h"
 
+#include "DNA_defaults.h"
+
 #include "BKE_movieclip.h"
 #include "BKE_node.h"
 #include "BKE_tracking.h"
@@ -50,7 +52,7 @@ void TrackPositionOperation::calc_track_position()
 {
   is_track_position_calculated_ = true;
   MovieTracking *tracking = nullptr;
-  MovieClipUser user = {0};
+  MovieClipUser user = *DNA_struct_default_get(MovieClipUser);
   MovieTrackingObject *object;
 
   track_position_ = 0;
diff --git a/source/blender/editors/space_clip/CMakeLists.txt b/source/blender/editors/space_clip/CMakeLists.txt
index 8c7f59d61dd..06179ffdd95 100644
--- a/source/blender/editors/space_clip/CMakeLists.txt
+++ b/source/blender/editors/space_clip/CMakeLists.txt
@@ -31,6 +31,9 @@ set(INC
   ../../windowmanager
   ../../../../intern/glew-mx
   ../../../../intern/guardedalloc
+
+  # dna_type_offsets.h
+  ${CMAKE_CURRENT_BINARY_DIR}/../../makesdna/intern
 )
 
 set(SRC
diff --git a/source/blender/editors/space_clip/clip_editor.c b/source/blender/editors/space_clip/clip_editor.c
index 09daed7e2e7..d22e4864ecf 100644
--- a/source/blender/editors/space_clip/clip_editor.c
+++ b/source/blender/editors/space_clip/clip_editor.c
@@ -34,6 +34,7 @@
 
 #include "MEM_guardedalloc.h"
 
+#include "DNA_defaults.h"
 #include "DNA_mask_types.h"
 
 #include "BLI_fileops.h"
@@ -686,7 +687,7 @@ static bool check_prefetch_break(void)
 static uchar *prefetch_read_file_to_memory(
     MovieClip *clip, int current_frame, short render_size, short render_flag, size_t *r_size)
 {
-  MovieClipUser user = {0};
+  MovieClipUser user = *DNA_struct_default_get(MovieClipUser);
   user.framenr = current_frame;
   user.render_size = render_size;
   user.render_flag = render_flag;
@@ -733,7 +734,7 @@ static int prefetch_find_uncached_frame(MovieClip *clip,
                                         short direction)
 {
   int current_frame;
-  MovieClipUser user = {0};
+  MovieClipUser user = *DNA_struct_default_get(MovieClipUser);
 
   user.render_size = render_size;
   user.render_flag = render_flag;
@@ -833,7 +834,7 @@ static void prefetch_task_func(TaskPool *__restrict pool, void *task_data)
 
   while ((mem = prefetch_thread_next_frame(queue, clip, &size, &current_frame))) {
     ImBuf *ibuf;
-    MovieClipUser user = {0};
+    MovieClipUser user = *DNA_struct_default_get(MovieClipUser);
     int flag = IB_rect | IB_multilayer | IB_alphamode_detect | IB_metadata;
     int result;
     char *colorspace_name = NULL;
@@ -915,7 +916,7 @@ static bool prefetch_movie_frame(MovieClip *clip,
                                  short render_flag,
                                  short *stop)
 {
-  MovieClipUser user = {0};
+  MovieClipUser user = *DNA_struct_default_get(MovieClipUser);
 
   if (check_prefetch_break() || *stop) {
     return false;
diff --git a/source/blender/editors/space_clip/clip_ops.c b/source/blender/editors/space_clip/clip_ops.c
index 0aa7e35aed6..ef522e57d02 100644
--- a/source/blender/editors/space_clip/clip_ops.c
+++ b/source/blender/editors/space_clip/clip_ops.c
@@ -33,6 +33,7 @@
 
 #include "MEM_guardedalloc.h"
 
+#include "DNA_defaults.h"
 #include "DNA_scene_types.h" /* min/max frames */
 #include "DNA_userdef_types.h"
 
@@ -1321,7 +1322,7 @@ static uchar *proxy_thread_next_frame(ProxyQueue *queue,
 
   BLI_spin_lock(&queue->spin);
   if (!*queue->stop && queue->cfra <= queue->efra) {
-    MovieClipUser user = {0};
+    MovieClipUser user = *DNA_struct_default_get(MovieClipUser);
     char name[FILE_MAX];
     size_t size;
     int file;
diff --git a/source/blender/editors/space_clip/space_clip.c b/source/blender/editors/space_clip/space_clip.c
index 847cba32c69..b6dbda79a2d 100644
--- a/source/blender/editors/space_clip/space_clip.c
+++ b/source/blender/editors/space_clip/space_clip.c
@@ -24,6 +24,8 @@
 #include <stdio.h>
 #include <string.h>
 
+#include "DNA_defaults.h"
+
 #include "DNA_mask_types.h"
 #include "DNA_movieclip_types.h"
 #include "DNA_scene_types.h"
@@ -239,14 +241,7 @@ static SpaceLink *clip_create(const ScrArea *area, const Scene *scene)
   ARegion *region;
   SpaceClip *sc;
 
-  sc = MEM_callocN(sizeof(SpaceClip), "initclip");
-  sc->spacetype = SPACE_CLIP;
-  sc->flag = SC_SHOW_MARKER_PATTERN | SC_SHOW_TRACK_PATH | SC_SHOW_GRAPH_TRACKS_MOTION |
-     

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list