[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [29020] trunk/blender: Progress indicators for threaded jobs

Matt Ebb matt at mke3.net
Thu May 27 10:22:16 CEST 2010


Revision: 29020
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=29020
Author:   broken
Date:     2010-05-27 10:22:16 +0200 (Thu, 27 May 2010)

Log Message:
-----------
Progress indicators for threaded jobs

Now, rather than the bit-too-alarming stop sign, threaded wmJobs 
display a progress indicator in the header. This is an optional feature
for each job type and still uses the same hardcoded ui template
(could use further work here...).

Currently implemented for:
Render - parts completed, then nodes comped
Compositor - nodes comped
Fluid Sim - frames simulated
Texture Bake - faces baked

Example: http://mke3.net/blender/devel/2.5/progress.mov

Modified Paths:
--------------
    trunk/blender/release/datafiles/blenderbuttons
    trunk/blender/release/scripts/ui/space_userpref.py
    trunk/blender/source/blender/blenkernel/intern/node.c
    trunk/blender/source/blender/blenloader/intern/readfile.c
    trunk/blender/source/blender/editors/datafiles/blenderbuttons.c
    trunk/blender/source/blender/editors/include/UI_interface.h
    trunk/blender/source/blender/editors/interface/interface.c
    trunk/blender/source/blender/editors/interface/interface_handlers.c
    trunk/blender/source/blender/editors/interface/interface_intern.h
    trunk/blender/source/blender/editors/interface/interface_templates.c
    trunk/blender/source/blender/editors/interface/interface_widgets.c
    trunk/blender/source/blender/editors/interface/resources.c
    trunk/blender/source/blender/editors/object/object_bake.c
    trunk/blender/source/blender/editors/physics/physics_fluid.c
    trunk/blender/source/blender/editors/render/render_internal.c
    trunk/blender/source/blender/editors/render/render_preview.c
    trunk/blender/source/blender/editors/screen/screendump.c
    trunk/blender/source/blender/editors/space_file/filelist.c
    trunk/blender/source/blender/editors/space_info/space_info.c
    trunk/blender/source/blender/editors/space_node/node_edit.c
    trunk/blender/source/blender/makesdna/DNA_node_types.h
    trunk/blender/source/blender/makesdna/DNA_userdef_types.h
    trunk/blender/source/blender/makesrna/intern/rna_userdef.c
    trunk/blender/source/blender/render/extern/include/RE_pipeline.h
    trunk/blender/source/blender/render/extern/include/RE_shader_ext.h
    trunk/blender/source/blender/render/intern/include/render_types.h
    trunk/blender/source/blender/render/intern/source/pipeline.c
    trunk/blender/source/blender/render/intern/source/rendercore.c
    trunk/blender/source/blender/windowmanager/WM_api.h
    trunk/blender/source/blender/windowmanager/WM_types.h
    trunk/blender/source/blender/windowmanager/intern/wm_jobs.c

Modified: trunk/blender/release/datafiles/blenderbuttons
===================================================================
(Binary files differ)

Modified: trunk/blender/release/scripts/ui/space_userpref.py
===================================================================
--- trunk/blender/release/scripts/ui/space_userpref.py	2010-05-27 08:12:32 UTC (rev 29019)
+++ trunk/blender/release/scripts/ui/space_userpref.py	2010-05-27 08:22:16 UTC (rev 29020)
@@ -554,6 +554,10 @@
             ui = theme.user_interface.wcol_scroll
             col.label(text="Scroll Bar:")
             ui_items_general(col, ui)
+            
+            ui = theme.user_interface.wcol_progress
+            col.label(text="Progress Bar:")
+            ui_items_general(col, ui)
 
             ui = theme.user_interface.wcol_list_item
             col.label(text="List Item:")

Modified: trunk/blender/source/blender/blenkernel/intern/node.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/node.c	2010-05-27 08:12:32 UTC (rev 29019)
+++ trunk/blender/source/blender/blenkernel/intern/node.c	2010-05-27 08:22:16 UTC (rev 29020)
@@ -2434,7 +2434,7 @@
 	bNode *node;
 	ListBase threads;
 	ThreadData thdata;
-	int totnode, rendering= 1;
+	int totnode, curnode, rendering= 1;
 	
 	if(ntree==NULL) return;
 	
@@ -2455,7 +2455,7 @@
 	BLI_srandom(rd->cfra);
 
 	/* sets need_exec tags in nodes */
-	totnode= setExecutableNodes(ntree, &thdata);
+	curnode = totnode= setExecutableNodes(ntree, &thdata);
 
 	BLI_init_threads(&threads, exec_composite_node, rd->threads);
 	
@@ -2465,14 +2465,14 @@
 			node= getExecutableNode(ntree);
 			if(node) {
 				
-				if(ntree->timecursor)
-					ntree->timecursor(ntree->tch, totnode);
+				if(ntree->progress)
+					ntree->progress(ntree->prh, (1.0 - curnode/(float)totnode));
 				if(ntree->stats_draw) {
 					char str[64];
-					sprintf(str, "Compositing %d %s", totnode, node->name);
+					sprintf(str, "Compositing %d %s", curnode, node->name);
 					ntree->stats_draw(ntree->sdh, str);
 				}
-				totnode--;
+				curnode--;
 				
 				node->threaddata = &thdata;
 				node->exec= NODE_PROCESSING;

Modified: trunk/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- trunk/blender/source/blender/blenloader/intern/readfile.c	2010-05-27 08:12:32 UTC (rev 29019)
+++ trunk/blender/source/blender/blenloader/intern/readfile.c	2010-05-27 08:22:16 UTC (rev 29020)
@@ -2082,7 +2082,7 @@
 	
 	ntree->init= 0;		/* to set callbacks and force setting types */
 	ntree->owntype= NULL;
-	ntree->timecursor= NULL;
+	ntree->progress= NULL;
 	
 	ntree->adt= newdataadr(fd, ntree->adt);
 	direct_link_animdata(fd, ntree->adt);

Modified: trunk/blender/source/blender/editors/datafiles/blenderbuttons.c
===================================================================
--- trunk/blender/source/blender/editors/datafiles/blenderbuttons.c	2010-05-27 08:12:32 UTC (rev 29019)
+++ trunk/blender/source/blender/editors/datafiles/blenderbuttons.c	2010-05-27 08:22:16 UTC (rev 29020)
@@ -1,6559 +1,6560 @@
 /* DataToC output of file <blenderbuttons> */
 
-int datatoc_blenderbuttons_size= 209681;
+int datatoc_blenderbuttons_size= 209697;
 char datatoc_blenderbuttons[]= {
-137, 80, 78, 71, 13, 10, 26, 10,  0,  0,  0, 13, 73, 72, 68, 82,  0,
-  0,  2, 90,  0,  0,  2,128,  8,  6,  0,  0,  0, 68,254,214,163,  0,  0,  0,  9,112, 72, 89,115,  0,  0, 13,215,  0,  0, 13,215,
-  1, 66, 40,155,120,  0,  0, 10, 79,105, 67, 67, 80, 80,104,111,116,111,115,104,111,112, 32, 73, 67, 67, 32,112,114,111,102,105,
-108,101,  0,  0,120,218,157, 83,103, 84, 83,233, 22, 61,247,222,244, 66, 75,136,128,148, 75,111, 82, 21,  8, 32, 82, 66,139,128,
- 20,145, 38, 42, 33,  9, 16, 74,136, 33,161,217, 21, 81,193, 17, 69, 69,  4, 27,200,160,136,  3,142,142,128,140, 21, 81, 44, 12,
-138, 10,216,  7,228, 33,162,142,131,163,136,138,202,251,225,123,163,107,214,188,247,230,205,254,181,215, 62,231,172,243,157,179,
-207,  7,192,  8, 12,150, 72, 51, 81, 53,128, 12,169, 66, 30, 17,224,131,199,196,198,225,228, 46, 64,129, 10, 36,112,  0, 16,  8,
-179,100, 33,115,253, 35,  1,  0,248,126, 60, 60, 43, 34,192,  7,190,  0,  1,120,211, 11,  8,  0,192, 77,155,192, 48, 28,135,255,
- 15,234, 66,153, 92,  1,128,132,  1,192,116,145, 56, 75,  8,128, 20,  0, 64,122,142, 66,166,  0, 64, 70,  1,128,157,152, 38, 83,
-  0,160,  4,  0, 96,203, 99, 98,227,  0, 80, 45,  0, 96, 39,127,230,211,  0,128,157,248,153,123,  1,  0, 91,148, 33, 21,  1,160,
-145,  0, 32, 19,101,136, 68,  0,104, 59,  0,172,207, 86,138, 69,  0, 88, 48,  0, 20,102, 75,196, 57,  0,216, 45,  0, 48, 73, 87,
-102, 72,  0,176,183,  0,192,206, 16, 11,178,  0,  8, 12,  0, 48, 81,136,133, 41,  0,  4,123,  0, 96,200, 35, 35,120,  0,132,153,
-  0, 20, 70,242, 87, 60,241, 43,174, 16,231, 42,  0,  0,120,153,178, 60,185, 36, 57, 69,129, 91,  8, 45,113,  7, 87, 87, 46, 30,
- 40,206, 73, 23, 43, 20, 54, 97,  2, 97,154, 64, 46,194,121,153, 25, 50,129, 52, 15,224,243,204,  0,  0,160,145, 21, 17,224,131,
-243,253,120,206, 14,174,206,206, 54,142,182, 14, 95, 45,234,191,  6,255, 34, 98, 98,227,254,229,207,171,112, 64,  0,  0,225,116,
-126,209,254, 44, 47,179, 26,128, 59,  6,128,109,254,162, 37,238,  4,104, 94, 11,160,117,247,139,102,178, 15, 64,181,  0,160,233,
-218, 87,243,112,248,126, 60, 60, 69,161,144,185,217,217,229,228,228,216, 74,196, 66, 91, 97,202, 87,125,254,103,194, 95,192, 87,
-253,108,249,126, 60,252,247,245,224,190,226, 36,129, 50, 93,129, 71,  4,248,224,194,204,244, 76,165, 28,207,146,  9,132, 98,220,
-230,143, 71,252,183, 11,255,252, 29,211, 34,196, 73, 98,185, 88, 42, 20,227, 81, 18,113,142, 68,154,140,243, 50,165, 34,137, 66,
-146, 41,197, 37,210,255,100,226,223, 44,251,  3, 62,223, 53,  0,176,106, 62,  1,123,145, 45,168, 93, 99,  3,246, 75, 39, 16, 88,
-116,192,226,247,  0,  0,242,187,111,193,212, 40,  8,  3,128,104,131,225,207,119,255,239, 63,253, 71,160, 37,  0,128,102, 73,146,
-113,  0,  0, 94, 68, 36, 46, 84,202,179, 63,199,  8,  0,  0, 68,160,129, 42,176, 65, 27,244,193, 24, 44,192,  6, 28,193,  5,220,
-193, 11,252, 96, 54,132, 66, 36,196,194, 66, 16, 66, 10,100,128, 28,114, 96, 41,172,130, 66, 40,134,205,176, 29, 42, 96, 47,212,
- 64, 29, 52,192, 81,104,134,147,112, 14, 46,194, 85,184, 14, 61,112, 15,250, 97,  8,158,193, 40,188,129,  9,  4, 65,200,  8, 19,
- 97, 33,218,136,  1, 98,138, 88, 35,142,  8, 23,153,133,248, 33,193, 72,  4, 18,139, 36, 32,201,136, 20, 81, 34, 75,145, 53, 72,
- 49, 82,138, 84, 32, 85, 72, 29,242, 61,114,  2, 57,135, 92, 70,186,145, 59,200,  0, 50,130,252,134,188, 71, 49,148,129,178, 81,
- 61,212, 12,181, 67,185,168, 55, 26,132, 70,162, 11,208,100,116, 49,154,143, 22,160,155,208,114,180, 26, 61,140, 54,161,231,208,
-171,104, 15,218,143, 62, 67,199, 48,192,232, 24,  7, 51,196,108, 48, 46,198,195, 66,177, 56, 44,  9,147, 99,203,177, 34,172, 12,
-171,198, 26,176, 86,172,  3,187,137,245, 99,207,177,119,  4, 18,129, 69,192,  9, 54,  4,119, 66, 32, 97, 30, 65, 72, 88, 76, 88,
- 78,216, 72,168, 32, 28, 36, 52, 17,218,  9, 55,  9,  3,132, 81,194, 39, 34,147,168, 75,180, 38,186, 17,249,196, 24, 98, 50, 49,
-135, 88, 72, 44, 35,214, 18,143, 19, 47, 16,123,136, 67,196, 55, 36, 18,137, 67, 50, 39,185,144,  2, 73,177,164, 84,210, 18,210,
- 70,210,110, 82, 35,233, 44,169,155, 52, 72, 26, 35,147,201,218,100,107,178,  7, 57,148, 44, 32, 43,200,133,228,157,228,195,228,
- 51,228, 27,228, 33,242, 91, 10,157, 98, 64,113,164,248, 83,226, 40, 82,202,106, 74, 25,229, 16,229, 52,229,  6,101,152, 50, 65,
- 85,163,154, 82,221,168,161, 84, 17, 53,143, 90, 66,173,161,182, 82,175, 81,135,168, 19, 52,117,154, 57,205,131, 22, 73, 75,165,
-173,162,149,211, 26,104, 23,104,247,105,175,232,116,186, 17,221,149, 30, 78,151,208, 87,210,203,233, 71,232,151,232,  3,244,119,
- 12, 13,134, 21,131,199,136,103, 40, 25,155, 24,  7, 24,103, 25,119, 24,175,152, 76,166, 25,211,139, 25,199, 84, 48, 55, 49,235,
-152,231,153, 15,153,111, 85, 88, 42,182, 42,124, 21,145,202, 10,149, 74,149, 38,149, 27, 42, 47, 84,169,170,166,170,222,170, 11,
- 85,243, 85,203, 84,143,169, 94, 83,125,174, 70, 85, 51, 83,227,169,  9,212,150,171, 85,170,157, 80,235, 83, 27, 83,103,169, 59,
-168,135,170,103,168,111, 84, 63,164,126, 89,253,137,  6, 89,195, 76,195, 79, 67,164, 81,160,177, 95,227,188,198, 32, 11, 99, 25,
-179,120, 44, 33,107, 13,171,134,117,129, 53,196, 38,177,205,217,124,118, 42,187,152,253, 29,187,139, 61,170,169,161, 57, 67, 51,
- 74, 51, 87,179, 82,243,148,102, 63,  7,227,152,113,248,156,116, 78,  9,231, 40,167,151,243,126,138,222, 20,239, 41,226, 41, 27,
-166, 52, 76,185, 49,101, 92,107,170,150,151,150, 88,171, 72,171, 81,171, 71,235,189, 54,174,237,167,157,166,189, 69,187, 89,251,
-129, 14, 65,199, 74, 39, 92, 39, 71,103,143,206,  5,157,231, 83,217, 83,221,167, 10,167, 22, 77, 61, 58,245,174, 46,170,107,165,
- 27,161,187, 68,119,191,110,167,238,152,158,190, 94,128,158, 76,111,167,222,121,189,231,250, 28,125, 47,253, 84,253,109,250,167,
-245, 71, 12, 88,  6,179, 12, 36,  6,219, 12,206, 24, 60,197, 53,113,111, 60, 29, 47,199,219,241, 81, 67, 93,195, 64, 67,165, 97,
-149, 97,151,225,132,145,185,209, 60,163,213, 70,141, 70, 15,140,105,198, 92,227, 36,227,109,198,109,198,163, 38,  6, 38, 33, 38,
- 75, 77,234, 77,238,154, 82, 77,185,166, 41,166, 59, 76, 59, 76,199,205,204,205,162,205,214,153, 53,155, 61, 49,215, 50,231,155,
-231,155,215,155,223,183, 96, 90,120, 90, 44,182,168,182,184,101, 73,178,228, 90,166, 89,238,182,188,110,133, 90, 57, 89,165, 88,
- 85, 90, 93,179, 70,173,157,173, 37,214,187,173,187,167, 17,167,185, 78,147, 78,171,158,214,103,195,176,241,182,201,182,169,183,
- 25,176,229,216,  6,219,174,182,109,182,125, 97,103, 98, 23,103,183,197,174,195,238,147,189,147,125,186,125,141,253, 61,  7, 13,
-135,217, 14,171, 29, 90, 29,126,115,180,114, 20, 58, 86, 58,222,154,206,156,238, 63,125,197,244,150,233, 47,103, 88,207, 16,207,
-216, 51,227,182, 19,203, 41,196,105,157, 83,155,211, 71,103, 23,103,185,115,131,243,136,139,137, 75,130,203, 46,151, 62, 46,155,
- 27,198,221,200,189,228, 74,116,245,113, 93,225,122,210,245,157,155,179,155,194,237,168,219,175,238, 54,238,105,238,135,220,159,
-204, 52,159, 41,158, 89, 51,115,208,195,200, 67,224, 81,229,209, 63, 11,159,149, 48,107,223,172,126, 79, 67, 79,129,103,181,231,

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list