[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [52430] trunk/blender: Fix #33253: VSE preview doesn't display compositor

Sergey Sharybin sergey.vfx at gmail.com
Wed Nov 21 10:36:36 CET 2012


Revision: 52430
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=52430
Author:   nazgul
Date:     2012-11-21 09:36:36 +0000 (Wed, 21 Nov 2012)
Log Message:
-----------
Fix #33253: VSE preview doesn't display compositor

There were two issues in scene strip rendering:

- It will skip rendering if scene doesn't have camera but uses compositor
- G.is_break will cancel preview rendering

Also removed Use Sequencer from scene's strip settings, it's not supported.

Modified Paths:
--------------
    trunk/blender/release/scripts/startup/bl_ui/space_sequencer.py
    trunk/blender/source/blender/blenkernel/intern/sequencer.c
    trunk/blender/source/blender/editors/space_sequencer/sequencer_draw.c
    trunk/blender/source/blender/makesrna/intern/rna_scene.c

Modified: trunk/blender/release/scripts/startup/bl_ui/space_sequencer.py
===================================================================
--- trunk/blender/release/scripts/startup/bl_ui/space_sequencer.py	2012-11-21 09:32:40 UTC (rev 52429)
+++ trunk/blender/release/scripts/startup/bl_ui/space_sequencer.py	2012-11-21 09:36:36 UTC (rev 52430)
@@ -707,8 +707,6 @@
         layout.template_ID(strip, "scene")
 
         scene = strip.scene
-        if scene:
-            layout.prop(scene.render, "use_sequencer")
 
         layout.label(text="Camera Override")
         layout.template_ID(strip, "scene_camera")

Modified: trunk/blender/source/blender/blenkernel/intern/sequencer.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/sequencer.c	2012-11-21 09:32:40 UTC (rev 52429)
+++ trunk/blender/source/blender/blenkernel/intern/sequencer.c	2012-11-21 09:36:36 UTC (rev 52430)
@@ -2343,6 +2343,7 @@
 	            (context.scene->r.seq_flag & R_SEQ_GL_PREV);
 	int do_seq;
 	int have_seq = FALSE;
+	int have_comp = FALSE;
 	Scene *scene;
 	int is_thread_main = BLI_thread_is_main();
 
@@ -2355,6 +2356,7 @@
 	frame = scene->r.sfra + nr + seq->anim_startofs;
 
 	have_seq = (scene->r.scemode & R_DOSEQ) && scene->ed && scene->ed->seqbase.first;
+	have_comp = (scene->r.scemode & R_DOCOMP) && scene->use_nodes && scene->nodetree;
 
 	oldcfra = scene->r.cfra;
 	scene->r.cfra = frame;
@@ -2367,7 +2369,7 @@
 		camera = scene->camera;
 	}
 
-	if (have_seq == FALSE && camera == NULL) {
+	if (have_comp == FALSE && camera == NULL) {
 		scene->r.cfra = oldcfra;
 		return NULL;
 	}

Modified: trunk/blender/source/blender/editors/space_sequencer/sequencer_draw.c
===================================================================
--- trunk/blender/source/blender/editors/space_sequencer/sequencer_draw.c	2012-11-21 09:32:40 UTC (rev 52429)
+++ trunk/blender/source/blender/editors/space_sequencer/sequencer_draw.c	2012-11-21 09:36:36 UTC (rev 52430)
@@ -822,6 +822,7 @@
 	int rectx, recty;
 	float render_size = 0.0;
 	float proxy_size = 100.0;
+	short is_break = G.is_break;
 
 	render_size = sseq->render_size;
 	if (render_size == 0) {
@@ -840,6 +841,11 @@
 
 	context = BKE_sequencer_new_render_data(bmain, scene, rectx, recty, proxy_size);
 
+	/* sequencer could start rendering, in this case we need to be sure it wouldn't be canceled
+	 * by Esc pressed somewhere in the past
+	 */
+	G.is_break = FALSE;
+
 	if (special_seq_update)
 		ibuf = BKE_sequencer_give_ibuf_direct(context, cfra + frame_ofs, special_seq_update);
 	else if (!U.prefetchframes) // XXX || (G.f & G_PLAYANIM) == 0) {
@@ -847,6 +853,9 @@
 	else
 		ibuf = BKE_sequencer_give_ibuf_threaded(context, cfra + frame_ofs, sseq->chanshown);
 
+	/* restore state so real rendering would be canceled (if needed) */
+	G.is_break = is_break;
+
 	return ibuf;
 }
 

Modified: trunk/blender/source/blender/makesrna/intern/rna_scene.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_scene.c	2012-11-21 09:32:40 UTC (rev 52429)
+++ trunk/blender/source/blender/makesrna/intern/rna_scene.c	2012-11-21 09:36:36 UTC (rev 52430)
@@ -3961,6 +3961,7 @@
 	prop = RNA_def_property(srna, "use_sequencer_gl_preview", PROP_BOOLEAN, PROP_NONE);
 	RNA_def_property_boolean_sdna(prop, NULL, "seq_flag", R_SEQ_GL_PREV);
 	RNA_def_property_ui_text(prop, "Sequencer OpenGL", "");
+	RNA_def_property_update(prop, NC_SCENE | ND_SEQUENCER, "rna_SceneSequencer_update");
 
 #if 0  /* see R_SEQ_GL_REND comment */
 	prop = RNA_def_property(srna, "use_sequencer_gl_render", PROP_BOOLEAN, PROP_NONE);




More information about the Bf-blender-cvs mailing list