Revision: 15079
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=15079
Author:   bdiego
Date:     2008-06-01 17:38:46 +0200 (Sun, 01 Jun 2008)

Log Message:
-----------
branches/blender-2.47

Merge from trunk:
        Revision: 15064                                                         
        
        Revision: 15069                                                         
        
        Revision: 15070                                                         
        
        Revision: 15072                                                         
        
        Revision: 15073                                                         
        
        Revision: 15075                                                         
        
        Revision: 15077                                                         
        
        Revision: 15078

Modified Paths:
--------------
    branches/blender-2.47/source/blender/blenkernel/intern/BME_tools.c
    branches/blender-2.47/source/blender/blenkernel/intern/writeffmpeg.c
    branches/blender-2.47/source/blender/include/BIF_editseq.h
    branches/blender-2.47/source/blender/python/api2_2x/Draw.c
    branches/blender-2.47/source/blender/python/api2_2x/Material.c
    branches/blender-2.47/source/blender/python/api2_2x/Node.c
    branches/blender-2.47/source/blender/src/drawseq.c
    branches/blender-2.47/source/blender/src/editseq.c
    branches/blender-2.47/source/blender/src/filesel.c
    branches/blender-2.47/source/blender/src/fluidsim.c

Modified: branches/blender-2.47/source/blender/blenkernel/intern/BME_tools.c
===================================================================
--- branches/blender-2.47/source/blender/blenkernel/intern/BME_tools.c  
2008-06-01 14:37:09 UTC (rev 15078)
+++ branches/blender-2.47/source/blender/blenkernel/intern/BME_tools.c  
2008-06-01 15:38:46 UTC (rev 15079)
@@ -811,7 +811,18 @@
 
        return Inpf(vec3,vec4);
 }
-
+static int BME_face_sharededges(BME_Poly *f1, BME_Poly *f2){
+       BME_Loop *l;
+       int count = 0;
+       
+       l = f1->loopbase;
+       do{
+               if(BME_radial_find_face(l->e,f2)) count++;
+               l = l->next;
+       }while(l != f1->loopbase);
+       
+       return count;
+}
 /**
  *                     BME_bevel_initialize
  *
@@ -990,6 +1001,17 @@
        /* face pass */
        for (f=bm->polys.first; f; f=f->next) f->tflag1 = BME_BEVEL_ORIG;
 
+       /*clean up edges with 2 faces that share more than one edge*/
+       for (e=bm->edges.first; e; e=e->next){
+               if(e->tflag1 & BME_BEVEL_BEVEL){
+                       int count = 0;
+                       count = BME_face_sharededges(e->loop->f, 
((BME_Loop*)e->loop->radial.next->data)->f);
+                       if(count > 1){
+                               e->tflag1 &= ~BME_BEVEL_BEVEL;
+                       }       
+               }
+       }
+
        return bm;
 }
 
@@ -1075,7 +1097,7 @@
                        v = BME_bevel_wire(bm, v, value, res, options, td);
                }
                else if (res && ((v->tflag1 & BME_BEVEL_BEVEL) && (v->tflag1 & 
BME_BEVEL_ORIG))) {
-                       
+                       int count = 0;
                        /* first, make sure we're not sitting on an edge to be 
removed */
                        oe = v->edge;
                        e = BME_disk_nextedge(oe,v);
@@ -1089,6 +1111,7 @@
                        /* look for original edges, and remove them */
                        oe = e;
                        while ( (e = BME_disk_next_edgeflag(oe, v, 0, 
BME_BEVEL_ORIG | BME_BEVEL_BEVEL)) ) {
+                               count++;
                                /* join the faces (we'll split them later) */
                                f = 
BME_JFKE_safe(bm,e->loop->f,((BME_Loop*)e->loop->radial.next->data)->f,e);
                                if (!f){
@@ -1096,6 +1119,9 @@
                                }
                        }
 
+                       /*need to do double check *before* you bevel to make 
sure that manifold edges are for two faces that share only *one* edge to make 
sure it doesnt hang here!*/
+
+
                        /* all original edges marked to be beveled have been 
removed;
                         * now we need to link up the edges for this "corner" */
                        len = BME_cycle_length(BME_disk_getpointer(v->edge, v));

Modified: branches/blender-2.47/source/blender/blenkernel/intern/writeffmpeg.c
===================================================================
--- branches/blender-2.47/source/blender/blenkernel/intern/writeffmpeg.c        
2008-06-01 14:37:09 UTC (rev 15078)
+++ branches/blender-2.47/source/blender/blenkernel/intern/writeffmpeg.c        
2008-06-01 15:38:46 UTC (rev 15079)
@@ -867,7 +867,7 @@
        
        fprintf(stderr, "Closing ffmpeg...\n");
 
-       if (audio_stream) {
+       if (audio_stream && video_stream) {
                write_audio_frames();
        }
        

Modified: branches/blender-2.47/source/blender/include/BIF_editseq.h
===================================================================
--- branches/blender-2.47/source/blender/include/BIF_editseq.h  2008-06-01 
14:37:09 UTC (rev 15078)
+++ branches/blender-2.47/source/blender/include/BIF_editseq.h  2008-06-01 
15:38:46 UTC (rev 15079)
@@ -92,8 +92,8 @@
 int seq_tx_get_start(struct Sequence *seq);
 int seq_tx_get_end(struct Sequence *seq);
 
-int seq_tx_get_final_left(struct Sequence *seq);
-int seq_tx_get_final_right(struct Sequence *seq);
+int seq_tx_get_final_left(struct Sequence *seq, int metaclip);
+int seq_tx_get_final_right(struct Sequence *seq, int metaclip);
 
 void seq_tx_set_final_left(struct Sequence *seq, int i);
 void seq_tx_set_final_right(struct Sequence *seq, int i);

Modified: branches/blender-2.47/source/blender/python/api2_2x/Draw.c
===================================================================
--- branches/blender-2.47/source/blender/python/api2_2x/Draw.c  2008-06-01 
14:37:09 UTC (rev 15078)
+++ branches/blender-2.47/source/blender/python/api2_2x/Draw.c  2008-06-01 
15:38:46 UTC (rev 15079)
@@ -613,6 +613,8 @@
                PyErr_Print(  );
                script->flags = 0;      /* mark script struct for deletion */
                SCRIPT_SET_NULL(script);
+               script->scriptname[0] = '\0';
+               script->scriptarg[0] = '\0';
                error_pyscript();
                scrarea_queue_redraw( sc->area );
        }

Modified: branches/blender-2.47/source/blender/python/api2_2x/Material.c
===================================================================
--- branches/blender-2.47/source/blender/python/api2_2x/Material.c      
2008-06-01 14:37:09 UTC (rev 15078)
+++ branches/blender-2.47/source/blender/python/api2_2x/Material.c      
2008-06-01 15:38:46 UTC (rev 15079)
@@ -1179,7 +1179,7 @@
        {"sssRadiusBlue",
         (getter)Material_getSssRadius, (setter)Material_setSssRadius,
         "Mean red scattering path length",
-        (void *) 0},
+        (void *) 2},
        {"sssIOR",
         (getter)Material_getSssIOR, (setter)Material_setSssIOR,
         "index of refraction",
@@ -1196,7 +1196,7 @@
         (getter)Material_getSssTexScatter, (setter)Material_setSssTexScatter,
         "Texture scattering factor",
         NULL},
-       {"sssFont",
+       {"sssFront",
         (getter)Material_getSssFront, (setter)Material_setSssFront,
         "Front scattering weight",
         NULL},

Modified: branches/blender-2.47/source/blender/python/api2_2x/Node.c
===================================================================
--- branches/blender-2.47/source/blender/python/api2_2x/Node.c  2008-06-01 
14:37:09 UTC (rev 15078)
+++ branches/blender-2.47/source/blender/python/api2_2x/Node.c  2008-06-01 
15:38:46 UTC (rev 15079)
@@ -848,7 +848,7 @@
 
        if (PyInt_Check(pyidx)) {
                idx = (int)PyInt_AsLong(pyidx);
-               if (idx < 0 || idx >= Sockinmap_len(self))
+               if (idx < 0 || idx >= Sockoutmap_len(self))
                        return EXPP_ReturnIntError(PyExc_IndexError, "index out 
of range");
        }
        else if (PyString_Check(pyidx)) {

Modified: branches/blender-2.47/source/blender/src/drawseq.c
===================================================================
--- branches/blender-2.47/source/blender/src/drawseq.c  2008-06-01 14:37:09 UTC 
(rev 15078)
+++ branches/blender-2.47/source/blender/src/drawseq.c  2008-06-01 15:38:46 UTC 
(rev 15079)
@@ -691,7 +691,7 @@
        
        /* draw the main strip body */
        if (is_single_image) /* single image */
-               draw_shadedstrip(seq, col, seq_tx_get_final_left(seq), y1, 
seq_tx_get_final_right(seq), y2);
+               draw_shadedstrip(seq, col, seq_tx_get_final_left(seq, 0), y1, 
seq_tx_get_final_right(seq, 0), y2);
        else /* normal operation */
                draw_shadedstrip(seq, col, x1, y1, x2, y2);
        

Modified: branches/blender-2.47/source/blender/src/editseq.c
===================================================================
--- branches/blender-2.47/source/blender/src/editseq.c  2008-06-01 14:37:09 UTC 
(rev 15078)
+++ branches/blender-2.47/source/blender/src/editseq.c  2008-06-01 15:38:46 UTC 
(rev 15079)
@@ -184,13 +184,24 @@
        return seq->start+seq->len;
 }
 
-int seq_tx_get_final_left(Sequence *seq)
+int seq_tx_get_final_left(Sequence *seq, int metaclip)
 {
-       return (seq->start - seq->startstill) + seq->startofs;
+       if (metaclip && seq->tmp) {
+               /* return the range clipped by the parents range */
+               return MAX2( seq_tx_get_final_left(seq, 0), 
seq_tx_get_final_left((Sequence *)seq->tmp, 1) );
+       } else {
+               return (seq->start - seq->startstill) + seq->startofs;
+       }
+       
 }
-int  seq_tx_get_final_right(Sequence *seq)
+int seq_tx_get_final_right(Sequence *seq, int metaclip)
 {
-       return ((seq->start+seq->len) + seq->endstill) - seq->endofs;
+       if (metaclip && seq->tmp) {
+               /* return the range clipped by the parents range */
+               return MIN2( seq_tx_get_final_right(seq, 0), 
seq_tx_get_final_right((Sequence *)seq->tmp, 1) );
+       } else {
+               return ((seq->start+seq->len) + seq->endstill) - seq->endofs;   
+       }
 }
 
 void seq_tx_set_final_left(Sequence *seq, int val)
@@ -260,12 +271,12 @@
        
        /* make sure the image is always at the start since there is only one,
           adjusting its start should be ok */
-       left = seq_tx_get_final_left(seq);
+       left = seq_tx_get_final_left(seq, 0);
        start = seq->start;
        if (start != left) {
                offset = left - start;
-               seq_tx_set_final_left( seq, seq_tx_get_final_left(seq) - offset 
);
-               seq_tx_set_final_right( seq, seq_tx_get_final_right(seq) - 
offset );
+               seq_tx_set_final_left( seq, seq_tx_get_final_left(seq, 0) - 
offset );
+               seq_tx_set_final_right( seq, seq_tx_get_final_right(seq, 0) - 
offset );
                seq->start += offset;
        }
 }
@@ -2927,34 +2938,34 @@
 static void transform_grab_xlimits(Sequence *seq, int leftflag, int rightflag)
 {
        if(leftflag) {
-               if (seq_tx_get_final_left(seq) >= seq_tx_get_final_right(seq)) {
-                       seq_tx_set_final_left(seq, 
seq_tx_get_final_right(seq)-1);
+               if (seq_tx_get_final_left(seq, 0) >= 
seq_tx_get_final_right(seq, 0)) {
+                       seq_tx_set_final_left(seq, seq_tx_get_final_right(seq, 
0)-1);
                }
                
                if (check_single_seq(seq)==0) {
-                       if (seq_tx_get_final_left(seq) >= seq_tx_get_end(seq)) {
+                       if (seq_tx_get_final_left(seq, 0) >= 
seq_tx_get_end(seq)) {
                                seq_tx_set_final_left(seq, 
seq_tx_get_end(seq)-1);
                        }
                        
                        /* dosnt work now - TODO */
                        /*
-                       if (seq_tx_get_start(seq) >= 
seq_tx_get_final_right(seq)) {
+                       if (seq_tx_get_start(seq) >= 
seq_tx_get_final_right(seq, 0)) {
                                int ofs;
-                               ofs = seq_tx_get_start(seq) - 
seq_tx_get_final_right(seq);
+                               ofs = seq_tx_get_start(seq) - 
seq_tx_get_final_right(seq, 0);
                                seq->start -= ofs;
-                               seq_tx_set_final_left(seq, 
seq_tx_get_final_left(seq) + ofs );
+                               seq_tx_set_final_left(seq, 
seq_tx_get_final_left(seq, 0) + ofs );
                        }*/
                        
                }
        }
        
        if(rightflag) {
-               if (seq_tx_get_final_right(seq) <=  seq_tx_get_final_left(seq)) 
{
-                       seq_tx_set_final_right(seq, 
seq_tx_get_final_left(seq)+1);
+               if (seq_tx_get_final_right(seq, 0) <=  
seq_tx_get_final_left(seq, 0)) {
+                       seq_tx_set_final_right(seq, seq_tx_get_final_left(seq, 
0)+1);
                }
                                                                        
                if (check_single_seq(seq)==0) {
-                       if (seq_tx_get_final_right(seq) <= 
seq_tx_get_start(seq)) {
+                       if (seq_tx_get_final_right(seq, 0) <= 
seq_tx_get_start(seq)) {
                                seq_tx_set_final_right(seq, 
seq_tx_get_start(seq)+1);
                        }
                }
@@ -3033,9 +3044,24 @@
                for(seq_index=0, seq=seqar[0]; seq_index < totseq_index; 
seq=seqar[++seq_index]) {
                        if((seq->flag & SELECT) && !(seq->depth==0 && seq->flag 
& SEQ_LOCK)) 
                                totstrip++;
+                       /* only needed for extend but can set here anyway since 
were alredy looping */
+                       seq->tmp= NULL;
                }
        }
        
+       /* for extending we need the metastrip clipped left/right values, set 
the metastrips as parents in seq->tmp */
+       if (mode=='e') {
+               Sequence *meta_seq;
+               for(seq_index=0, seq=seqar[0]; seq_index < totseq_index; 
seq=seqar[++seq_index]) {
+                       if (seq->type == SEQ_META) {

@@ Diff output truncated at 10240 characters. @@

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to