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, ¤t_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. @@ _______________________________________________ Bf-blender-cvs mailing list [email protected] List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
