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. @@

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to