[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [29688] branches/render25: Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29653 :29687

Campbell Barton ideasman42 at gmail.com
Fri Jun 25 14:35:23 CEST 2010


Revision: 29688
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=29688
Author:   campbellbarton
Date:     2010-06-25 14:35:23 +0200 (Fri, 25 Jun 2010)

Log Message:
-----------
Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29653:29687

Modified Paths:
--------------
    branches/render25/CMakeLists.txt
    branches/render25/config/linux2-config.py
    branches/render25/config/linuxcross-config.py
    branches/render25/config/win32-vc-config.py
    branches/render25/config/win64-vc-config.py
    branches/render25/source/blender/blenkernel/BKE_sequencer.h
    branches/render25/source/blender/blenkernel/intern/cdderivedmesh.c
    branches/render25/source/blender/blenkernel/intern/object.c
    branches/render25/source/blender/blenkernel/intern/scene.c
    branches/render25/source/blender/blenkernel/intern/sequencer.c
    branches/render25/source/blender/collada/DocumentImporter.cpp
    branches/render25/source/blender/editors/gpencil/gpencil_paint.c
    branches/render25/source/blender/editors/render/render_opengl.c
    branches/render25/source/blender/editors/screen/screen_edit.c
    branches/render25/source/blender/editors/sculpt_paint/paint_image.c
    branches/render25/source/blender/editors/sculpt_paint/paint_stroke.c
    branches/render25/source/blender/editors/space_buttons/buttons_ops.c
    branches/render25/source/blender/editors/space_image/image_ops.c
    branches/render25/source/blender/editors/space_logic/logic_window.c
    branches/render25/source/blender/editors/space_sequencer/sequencer_add.c
    branches/render25/source/blender/editors/space_sequencer/sequencer_edit.c
    branches/render25/source/blender/editors/space_sequencer/sequencer_intern.h
    branches/render25/source/blender/editors/space_sequencer/sequencer_select.c
    branches/render25/source/blender/editors/space_view3d/drawmesh.c
    branches/render25/source/blender/makesdna/DNA_sequence_types.h
    branches/render25/source/blender/makesrna/intern/rna_wm.c
    branches/render25/source/blender/python/intern/bpy_props.c
    branches/render25/source/blender/render/intern/source/rayshade.c
    branches/render25/source/blender/windowmanager/intern/wm_event_system.c
    branches/render25/source/blender/windowmanager/wm_event_types.h
    branches/render25/source/creator/creator.c

Added Paths:
-----------
    branches/render25/source/blender/blenlib/BLI_cpu.h
    branches/render25/source/blender/blenlib/intern/cpu.c

Modified: branches/render25/CMakeLists.txt
===================================================================
--- branches/render25/CMakeLists.txt	2010-06-25 12:28:35 UTC (rev 29687)
+++ branches/render25/CMakeLists.txt	2010-06-25 12:35:23 UTC (rev 29688)
@@ -110,7 +110,7 @@
 OPTION(WITH_LZMA          "Enable best LZMA compression, (used for pointcache)" ON)
 
 # Misc
-OPTION(WITH_RAYOPTIMIZATION	"Enable use of SIMD (SSE) optimizations for the raytracer" OFF) 
+OPTION(WITH_RAYOPTIMIZATION	"Enable use of SIMD (SSE) optimizations for the raytracer" ON) 
 OPTION(WITH_CXX_GUARDEDALLOC "Enable GuardedAlloc for C++ memory allocation tracking" OFF)
 OPTION(WITH_INSTALL       "Install accompanying scripts and language files needed to run blender" ON)
 

Modified: branches/render25/config/linux2-config.py
===================================================================
--- branches/render25/config/linux2-config.py	2010-06-25 12:28:35 UTC (rev 29687)
+++ branches/render25/config/linux2-config.py	2010-06-25 12:35:23 UTC (rev 29688)
@@ -168,7 +168,7 @@
 WITH_BF_OPENMP = True
 
 #Ray trace optimization
-WITH_BF_RAYOPTIMIZATION = False
+WITH_BF_RAYOPTIMIZATION = True
 BF_RAYOPTIMIZATION_SSE_FLAGS = ['-msse','-pthread']
 
 ##

Modified: branches/render25/config/linuxcross-config.py
===================================================================
--- branches/render25/config/linuxcross-config.py	2010-06-25 12:28:35 UTC (rev 29687)
+++ branches/render25/config/linuxcross-config.py	2010-06-25 12:35:23 UTC (rev 29688)
@@ -169,7 +169,7 @@
 BF_OPENCOLLADA_LIBPATH = '${BF_OPENCOLLADA}/lib ${BF_ICONV_LIBPATH}'
 
 #Ray trace optimization
-WITH_BF_RAYOPTIMIZATION = False
+WITH_BF_RAYOPTIMIZATION = True
 BF_RAYOPTIMIZATION_SSE_FLAGS = ['-msse']
 
 CCFLAGS = [ '-pipe', '-funsigned-char', '-fno-strict-aliasing' ]

Modified: branches/render25/config/win32-vc-config.py
===================================================================
--- branches/render25/config/win32-vc-config.py	2010-06-25 12:28:35 UTC (rev 29687)
+++ branches/render25/config/win32-vc-config.py	2010-06-25 12:35:23 UTC (rev 29688)
@@ -150,7 +150,7 @@
 BF_OPENCOLLADA_LIBPATH = '${BF_OPENCOLLADA}/lib'
 
 #Ray trace optimization
-WITH_BF_RAYOPTIMIZATION = False
+WITH_BF_RAYOPTIMIZATION = True
 BF_RAYOPTIMIZATION_SSE_FLAGS = ['/arch:SSE']
 
 WITH_BF_STATICOPENGL = False

Modified: branches/render25/config/win64-vc-config.py
===================================================================
--- branches/render25/config/win64-vc-config.py	2010-06-25 12:28:35 UTC (rev 29687)
+++ branches/render25/config/win64-vc-config.py	2010-06-25 12:35:23 UTC (rev 29688)
@@ -163,7 +163,7 @@
 BF_OPENCOLLADA_LIBPATH = '${BF_OPENCOLLADA}/lib'
 
 #Ray trace optimization
-WITH_BF_RAYOPTIMIZATION = False
+WITH_BF_RAYOPTIMIZATION = True
 BF_RAYOPTIMIZATION_SSE_FLAGS = ['/arch:SSE','/arch:SSE2']
 
 WITH_BF_STATICOPENGL = False

Modified: branches/render25/source/blender/blenkernel/BKE_sequencer.h
===================================================================
--- branches/render25/source/blender/blenkernel/BKE_sequencer.h	2010-06-25 12:28:35 UTC (rev 29687)
+++ branches/render25/source/blender/blenkernel/BKE_sequencer.h	2010-06-25 12:35:23 UTC (rev 29688)
@@ -191,12 +191,15 @@
 int shuffle_seq_time(ListBase * seqbasep, struct Scene *evil_scene);
 int seqbase_isolated_sel_check(struct ListBase *seqbase);
 void free_imbuf_seq(struct Scene *scene, struct ListBase * seqbasep, int check_mem_usage);
+struct Sequence	*seq_dupli_recursive(struct Scene *scene, struct Sequence * seq, int dupe_flag);
 int seq_swap(struct Sequence *seq_a, struct Sequence *seq_b);
 
 void seq_update_sound(struct Scene* scene, struct Sequence *seq);
 void seq_update_muting(struct Scene* scene, struct Editing *ed);
 void seqbase_sound_reload(Scene *scene, ListBase *seqbase);
 void seqbase_unique_name_recursive(ListBase *seqbasep, struct Sequence *seq);
+void seqbase_dupli_recursive(struct Scene *scene, ListBase *nseqbase, ListBase *seqbase, int dupe_flag);
+
 void clear_scene_in_allseqs(struct Scene *sce);
 
 struct Sequence *get_seq_by_name(struct ListBase *seqbase, const char *name, int recursive);
@@ -225,6 +228,11 @@
 #define SEQ_LOAD_MOVIE_SOUND	1<<2
 #define SEQ_LOAD_SOUND_CACHE	1<<3
 
+
+/* seq_dupli' flags */
+#define SEQ_DUPE_UNIQUE_NAME	1<<0
+#define SEQ_DUPE_CONTEXT		1<<1
+
 /* use as an api function */
 typedef struct Sequence *(*SeqLoadFunc)(struct bContext *, ListBase *, struct SeqLoadInfo *);
 

Modified: branches/render25/source/blender/blenkernel/intern/cdderivedmesh.c
===================================================================
--- branches/render25/source/blender/blenkernel/intern/cdderivedmesh.c	2010-06-25 12:28:35 UTC (rev 29687)
+++ branches/render25/source/blender/blenkernel/intern/cdderivedmesh.c	2010-06-25 12:35:23 UTC (rev 29688)
@@ -744,7 +744,7 @@
 				if( flag != lastFlag ) {
 					if( startFace < i ) {
 						if( lastFlag != 0 ) { /* if the flag is 0 it means the face is hidden or invisible */
-							if (lastFlag==1 && mcol)
+							if (lastFlag==1 && col)
 								GPU_color_switch(1);
 							else
 								GPU_color_switch(0);
@@ -757,7 +757,7 @@
 			}
 			if( startFace < dm->drawObject->nelements/3 ) {
 				if( lastFlag != 0 ) { /* if the flag is 0 it means the face is hidden or invisible */
-					if (lastFlag==1 && mcol)
+					if (lastFlag==1 && col)
 						GPU_color_switch(1);
 					else
 						GPU_color_switch(0);

Modified: branches/render25/source/blender/blenkernel/intern/object.c
===================================================================
--- branches/render25/source/blender/blenkernel/intern/object.c	2010-06-25 12:28:35 UTC (rev 29687)
+++ branches/render25/source/blender/blenkernel/intern/object.c	2010-06-25 12:35:23 UTC (rev 29688)
@@ -652,6 +652,14 @@
 						}
 					}
 				}
+				else if(sl->spacetype==SPACE_BUTS) {
+					SpaceButs *sbuts= (SpaceButs *)sl;
+
+					if(sbuts->pinid==(ID *)ob) {
+						sbuts->flag&= ~SB_PIN_CONTEXT;
+						sbuts->pinid= NULL;
+					}
+				}
 			}
 
 			sa= sa->next;

Modified: branches/render25/source/blender/blenkernel/intern/scene.c
===================================================================
--- branches/render25/source/blender/blenkernel/intern/scene.c	2010-06-25 12:28:35 UTC (rev 29687)
+++ branches/render25/source/blender/blenkernel/intern/scene.c	2010-06-25 12:35:23 UTC (rev 29688)
@@ -44,6 +44,7 @@
 #include "DNA_group_types.h"
 #include "DNA_scene_types.h"
 #include "DNA_screen_types.h"
+#include "DNA_sequence_types.h"
 
 #include "BKE_anim.h"
 #include "BKE_animsys.h"
@@ -197,6 +198,10 @@
 		scen->r.qtcodecdata->cdParms = MEM_dupallocN(scen->r.qtcodecdata->cdParms);
 	}
 	
+	if(sce->r.ffcodecdata.properties) { /* intentionally check scen not sce. */
+		scen->r.ffcodecdata.properties= IDP_CopyProperty(sce->r.ffcodecdata.properties);
+	}
+
 	/* NOTE: part of SCE_COPY_LINK_DATA and SCE_COPY_FULL operations
 	 * are done outside of blenkernel with ED_objects_single_users! */
 
@@ -211,6 +216,12 @@
 			id_us_plus((ID *)scen->world);
 			scen->world= copy_world(scen->world);
 		}
+
+		if(sce->ed) {
+			scen->ed= MEM_callocN( sizeof(Editing), "addseq");
+			scen->ed->seqbasep= &scen->ed->seqbase;
+			seqbase_dupli_recursive(sce, &scen->ed->seqbase, &sce->ed->seqbase, 0);
+		}
 	}
 
 	sound_create_scene(scen);

Modified: branches/render25/source/blender/blenkernel/intern/sequencer.c
===================================================================
--- branches/render25/source/blender/blenkernel/intern/sequencer.c	2010-06-25 12:28:35 UTC (rev 29687)
+++ branches/render25/source/blender/blenkernel/intern/sequencer.c	2010-06-25 12:35:23 UTC (rev 29688)
@@ -3991,7 +3991,7 @@
 
 	AUD_SoundInfo info;
 
-	sound = sound_new_file(CTX_data_main(C), seq_load->path);
+	sound = sound_new_file(CTX_data_main(C), seq_load->path); /* handles relative paths */
 
 	if (sound==NULL || sound->playback_handle == NULL) {
 		//if(op)
@@ -4039,6 +4039,7 @@
 Sequence *sequencer_add_movie_strip(bContext *C, ListBase *seqbasep, SeqLoadInfo *seq_load)
 {
 	Scene *scene= CTX_data_scene(C); /* only for sound */
+	char path[sizeof(seq_load->path)];
 
 	Sequence *seq, *soundseq;	/* generic strip vars */
 	Strip *strip;
@@ -4046,8 +4047,11 @@
 
 	struct anim *an;
 
-	an = openanim(seq_load->path, IB_rect);
+	BLI_strncpy(path, seq_load->path, sizeof(path));
+	BLI_path_abs(path, G.sce);
 
+	an = openanim(path, IB_rect);
+
 	if(an==NULL)
 		return NULL;
 
@@ -4086,3 +4090,131 @@
 
 	return seq;
 }
+
+
+static Sequence *seq_dupli(struct Scene *scene, Sequence *seq, int dupe_flag)
+{
+	Sequence *seqn = MEM_dupallocN(seq);
+
+	seq->tmp = seqn;
+	seqn->strip= MEM_dupallocN(seq->strip);
+
+	// XXX: add F-Curve duplication stuff?
+
+	seqn->strip->tstripdata = 0;
+	seqn->strip->tstripdata_startstill = 0;
+	seqn->strip->tstripdata_endstill = 0;
+	seqn->strip->ibuf_startstill = 0;
+	seqn->strip->ibuf_endstill = 0;
+
+	if (seq->strip->crop) {
+		seqn->strip->crop = MEM_dupallocN(seq->strip->crop);
+	}
+
+	if (seq->strip->transform) {
+		seqn->strip->transform = MEM_dupallocN(seq->strip->transform);
+	}
+
+	if (seq->strip->proxy) {
+		seqn->strip->proxy = MEM_dupallocN(seq->strip->proxy);
+	}
+
+	if (seq->strip->color_balance) {
+		seqn->strip->color_balance
+			= MEM_dupallocN(seq->strip->color_balance);
+	}
+
+	if(seq->type==SEQ_META) {
+		seqn->strip->stripdata = 0;
+
+		seqn->seqbase.first= seqn->seqbase.last= 0;
+		/* WATCH OUT!!! - This metastrip is not recursively duplicated here - do this after!!! */
+		/* - seq_dupli_recursive(&seq->seqbase,&seqn->seqbase);*/
+	} else if(seq->type == SEQ_SCENE) {
+		seqn->strip->stripdata = 0;
+		if(seq->scene_sound)
+			seqn->scene_sound = sound_scene_add_scene_sound(scene, seqn, seq->startdisp, seq->enddisp, seq->startofs + seq->anim_startofs);
+	} else if(seq->type == SEQ_MOVIE) {
+		seqn->strip->stripdata =
+				MEM_dupallocN(seq->strip->stripdata);
+		seqn->anim= 0;
+	} else if(seq->type == SEQ_SOUND) {
+		seqn->strip->stripdata =
+				MEM_dupallocN(seq->strip->stripdata);
+		if(seq->scene_sound)
+			seqn->scene_sound = sound_add_scene_sound(scene, seqn, seq->startdisp, seq->enddisp, seq->startofs + seq->anim_startofs);
+
+		seqn->sound->id.us++;
+	} else if(seq->type == SEQ_IMAGE) {
+		seqn->strip->stripdata =
+				MEM_dupallocN(seq->strip->stripdata);
+	} else if(seq->type >= SEQ_EFFECT) {
+		if(seq->seq1 && seq->seq1->tmp) seqn->seq1= seq->seq1->tmp;
+		if(seq->seq2 && seq->seq2->tmp) seqn->seq2= seq->seq2->tmp;

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list