[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [54327] trunk/blender/source/blender/ makesrna: add RNA_define_animate_sdna() so animation can be easily disabled when defining many properties - currently use to disable animating brushes and toolsettings .

Campbell Barton ideasman42 at gmail.com
Tue Feb 5 15:25:22 CET 2013


Revision: 54327
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=54327
Author:   campbellbarton
Date:     2013-02-05 14:25:22 +0000 (Tue, 05 Feb 2013)
Log Message:
-----------
add RNA_define_animate_sdna() so animation can be easily disabled when defining many properties - currently use to disable animating brushes and toolsettings.

Modified Paths:
--------------
    trunk/blender/source/blender/makesrna/RNA_define.h
    trunk/blender/source/blender/makesrna/intern/makesrna.c
    trunk/blender/source/blender/makesrna/intern/rna_define.c
    trunk/blender/source/blender/makesrna/intern/rna_internal.h
    trunk/blender/source/blender/makesrna/intern/rna_scene.c
    trunk/blender/source/blender/makesrna/intern/rna_sculpt_paint.c

Modified: trunk/blender/source/blender/makesrna/RNA_define.h
===================================================================
--- trunk/blender/source/blender/makesrna/RNA_define.h	2013-02-05 14:16:19 UTC (rev 54326)
+++ trunk/blender/source/blender/makesrna/RNA_define.h	2013-02-05 14:25:22 UTC (rev 54327)
@@ -43,6 +43,7 @@
 void RNA_define_free(BlenderRNA *brna);
 void RNA_free(BlenderRNA *brna);
 void RNA_define_verify_sdna(int verify);
+void RNA_define_animate_sdna(int animate);
 
 void RNA_init(void);
 void RNA_exit(void);

Modified: trunk/blender/source/blender/makesrna/intern/makesrna.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/makesrna.c	2013-02-05 14:16:19 UTC (rev 54326)
+++ trunk/blender/source/blender/makesrna/intern/makesrna.c	2013-02-05 14:25:22 UTC (rev 54327)
@@ -3882,6 +3882,13 @@
 		if (PROCESS_ITEMS[i].define) {
 			PROCESS_ITEMS[i].define(brna);
 
+			/* sanity check */
+			if (!DefRNA.animate) {
+				fprintf(stderr,
+				        "Error: DefRNA.animate left disabled in %s\n",
+				        PROCESS_ITEMS[i].filename);
+			}
+
 			for (ds = DefRNA.structs.first; ds; ds = ds->cont.next)
 				if (!ds->filename)
 					ds->filename = PROCESS_ITEMS[i].filename;

Modified: trunk/blender/source/blender/makesrna/intern/rna_define.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_define.c	2013-02-05 14:16:19 UTC (rev 54326)
+++ trunk/blender/source/blender/makesrna/intern/rna_define.c	2013-02-05 14:25:22 UTC (rev 54327)
@@ -61,7 +61,7 @@
 
 /* Global used during defining */
 
-BlenderDefRNA DefRNA = {NULL, {NULL, NULL}, {NULL, NULL}, NULL, 0, 0, 0, 1};
+BlenderDefRNA DefRNA = {NULL, {NULL, NULL}, {NULL, NULL}, NULL, 0, 0, 0, 1, 1};
 
 /* Duplicated code since we can't link in blenkernel or blenlib */
 
@@ -506,6 +506,13 @@
 	DefRNA.verify = verify;
 }
 
+#ifndef RNA_RUNTIME
+void RNA_define_animate_sdna(int animate)
+{
+	DefRNA.animate = animate;
+}
+#endif
+
 void RNA_struct_free_extension(StructRNA *srna, ExtensionRNA *ext)
 {
 #ifdef RNA_RUNTIME
@@ -1031,8 +1038,15 @@
 	if (type != PROP_COLLECTION && type != PROP_POINTER) {
 		prop->flag = PROP_EDITABLE;
 	
-		if (type != PROP_STRING)
+		if (type != PROP_STRING) {
+#ifdef RNA_RUNTIME
 			prop->flag |= PROP_ANIMATABLE;
+#else
+			if (DefRNA.animate) {
+				prop->flag |= PROP_ANIMATABLE;
+			}
+#endif
+		}
 	}
 
 	if (type == PROP_STRING) {

Modified: trunk/blender/source/blender/makesrna/intern/rna_internal.h
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_internal.h	2013-02-05 14:16:19 UTC (rev 54326)
+++ trunk/blender/source/blender/makesrna/intern/rna_internal.h	2013-02-05 14:25:22 UTC (rev 54327)
@@ -117,7 +117,7 @@
 	ListBase structs;
 	ListBase allocs;
 	struct StructRNA *laststruct;
-	int error, silent, preprocess, verify;
+	int error, silent, preprocess, verify, animate;
 } BlenderDefRNA;
 
 extern BlenderDefRNA DefRNA;

Modified: trunk/blender/source/blender/makesrna/intern/rna_scene.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_scene.c	2013-02-05 14:16:19 UTC (rev 54326)
+++ trunk/blender/source/blender/makesrna/intern/rna_scene.c	2013-02-05 14:25:22 UTC (rev 54327)
@@ -4708,15 +4708,19 @@
 	RNA_def_property_ui_text(prop, "Sequencer Color Space Settings", "Settings of color space sequencer is working in");
 
 	/* Nestled Data  */
+	/* *** Non-Animated *** */
+	RNA_define_animate_sdna(false);
 	rna_def_tool_settings(brna);
 	rna_def_unified_paint_settings(brna);
 	rna_def_unit_settings(brna);
 	rna_def_scene_image_format_data(brna);
-	rna_def_scene_render_data(brna);
 	rna_def_scene_game_data(brna);
-	rna_def_scene_render_layer(brna);
 	rna_def_transform_orientation(brna);
 	rna_def_selected_uv_element(brna);
+	RNA_define_animate_sdna(true);
+	/* *** Animated *** */
+	rna_def_scene_render_data(brna);
+	rna_def_scene_render_layer(brna);
 	
 	/* Scene API */
 	RNA_api_scene(srna);

Modified: trunk/blender/source/blender/makesrna/intern/rna_sculpt_paint.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_sculpt_paint.c	2013-02-05 14:16:19 UTC (rev 54326)
+++ trunk/blender/source/blender/makesrna/intern/rna_sculpt_paint.c	2013-02-05 14:25:22 UTC (rev 54327)
@@ -676,12 +676,15 @@
 
 void RNA_def_sculpt_paint(BlenderRNA *brna)
 {
+	/* *** Non-Animated *** */
+	RNA_define_animate_sdna(false);
 	rna_def_paint(brna);
 	rna_def_sculpt(brna);
 	rna_def_uv_sculpt(brna);
 	rna_def_vertex_paint(brna);
 	rna_def_image_paint(brna);
 	rna_def_particle_edit(brna);
+	RNA_define_animate_sdna(true);
 }
 
 #endif




More information about the Bf-blender-cvs mailing list