[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [13253] trunk/blender/source/blender: sequence transform buttons didnt correct for overlap, also made them account for color generator and single image types.

Campbell Barton ideasman42 at gmail.com
Tue Jan 15 22:44:09 CET 2008


Revision: 13253
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=13253
Author:   campbellbarton
Date:     2008-01-15 22:44:09 +0100 (Tue, 15 Jan 2008)

Log Message:
-----------
sequence transform buttons didnt correct for overlap, also made them account for color generator and single image types.

Modified Paths:
--------------
    trunk/blender/source/blender/include/BIF_editseq.h
    trunk/blender/source/blender/src/buttons_scene.c
    trunk/blender/source/blender/src/editipo.c
    trunk/blender/source/blender/src/editseq.c

Modified: trunk/blender/source/blender/include/BIF_editseq.h
===================================================================
--- trunk/blender/source/blender/include/BIF_editseq.h	2008-01-15 20:42:00 UTC (rev 13252)
+++ trunk/blender/source/blender/include/BIF_editseq.h	2008-01-15 21:44:09 UTC (rev 13253)
@@ -77,9 +77,18 @@
 void				select_dir_from_last(int lr);
 void				select_neighbor_from_last(int lr);
 void				select_linked_seq(int mode);
+int					test_overlap_seq(struct Sequence *test);
+void				shuffle_seq(struct Sequence *test);
 struct Sequence*	alloc_sequence(ListBase *lb, int cfra, int machine); /*used from python*/
 int 				check_single_seq(struct Sequence *seq);
 
+/* seq funcs for transform
+ notice the difference between start/end and left/right.
+ 
+ left and right are the bounds at which the setuence is rendered,
+start and end are from the start and fixed length of the sequence.
+*/
+
 /* sequence transform functions, for internal used */
 int seq_tx_get_start(struct Sequence *seq);
 int seq_tx_get_end(struct Sequence *seq);
@@ -97,37 +106,6 @@
 #define SEQ_DEBUG_INFO(seq) printf("seq into '%s' -- len:%i  start:%i  startstill:%i  endstill:%i  startofs:%i  endofs:%i\n",\
 		    seq->name, seq->len, seq->start, seq->startstill, seq->endstill, seq->startofs, seq->endofs)
 
-/* seq macro's for transform
- notice the difference between start/end and left/right.
- 
- left and right are the bounds at which the setuence is rendered,
-start and end are from the start and fixed length of the sequence.
-*/
-/*
-#define SEQ_GET_START(seq)	(seq->start)
-#define SEQ_GET_END(seq)	(seq->start+seq->len)
 
-#define SEQ_GET_FINAL_LEFT(seq)		((seq->start - seq->startstill) + seq->startofs)
-#define SEQ_GET_FINAL_RIGHT(seq)	(((seq->start+seq->len) + seq->endstill) - seq->endofs)
-
-#define SEQ_SET_FINAL_LEFT(seq, val) \
-	if (val < (seq)->start) { \
-		(seq)->startstill = abs(val - (seq)->start); \
-		(seq)->startofs = 0; \
-} else { \
-		(seq)->startofs = abs(val - (seq)->start); \
-		(seq)->startstill = 0; \
-}
-
-#define SEQ_SET_FINAL_RIGHT(seq, val) \
-	if (val > (seq)->start + (seq)->len) { \
-		(seq)->endstill = abs(val - ((seq)->start + (seq)->len)); \
-		(seq)->endofs = 0; \
-} else { \
-		(seq)->endofs = abs(val - ((seq)->start + (seq)->len)); \
-		(seq)->endstill = 0; \
-}
-*/
-
 #endif
 

Modified: trunk/blender/source/blender/src/buttons_scene.c
===================================================================
--- trunk/blender/source/blender/src/buttons_scene.c	2008-01-15 20:42:00 UTC (rev 13252)
+++ trunk/blender/source/blender/src/buttons_scene.c	2008-01-15 21:44:09 UTC (rev 13253)
@@ -578,27 +578,34 @@
 			  B_SEQ_BUT_TRANSFORM, "Chan", 
 			  130, 80, 120, 20, &last_seq->machine, 
 			  0.0, MAXSEQ, 0.0, 0.0, "Channel used (Y position)");
-
-		if (last_seq->type == SEQ_IMAGE) {
+		
+		if (check_single_seq(last_seq)) {
 			uiDefButI(block, NUM, 
-				  B_SEQ_BUT_TRANSFORM, "Start-Still", 
-				  10, 60, 120, 20, &last_seq->startstill, 
-				  0.0, MAXFRAMEF, 0.0, 0.0, "Start still");
-			uiDefButI(block, NUM, 
-				  B_SEQ_BUT_TRANSFORM, "End-Still", 
-				  130, 60, 120, 19, &last_seq->endstill, 
-				  0.0, MAXFRAMEF, 0.0, 0.0, "End still");
+				B_SEQ_BUT_TRANSFORM, "End-Still", 
+				130, 60, 120, 19, &last_seq->endstill, 
+				0.0, MAXFRAMEF, 0.0, 0.0, "End still");
 		} else {
-			uiDefButI(block, NUM, 
-				  B_SEQ_BUT_TRANSFORM, "Start-Ofs", 
-				  10, 60, 120, 20, &last_seq->startofs, 
-				  0.0, last_seq->len - last_seq->endofs, 
-				  0.0, 0.0, "Start offset");
-			uiDefButI(block, NUM, 
-				  B_SEQ_BUT_TRANSFORM, "End-Ofs", 
-				  130, 60, 120, 19, &last_seq->endofs, 
-				  0.0, last_seq->len - last_seq->startofs, 
-				  0.0, 0.0, "End offset");
+			if (last_seq->type == SEQ_IMAGE) {
+				uiDefButI(block, NUM, 
+					B_SEQ_BUT_TRANSFORM, "Start-Still", 
+					10, 60, 120, 20, &last_seq->startstill, 
+					0.0, MAXFRAMEF, 0.0, 0.0, "Start still");
+				uiDefButI(block, NUM, 
+					B_SEQ_BUT_TRANSFORM, "End-Still", 
+					130, 60, 120, 19, &last_seq->endstill, 
+					0.0, MAXFRAMEF, 0.0, 0.0, "End still");
+			} else {
+				uiDefButI(block, NUM, 
+					B_SEQ_BUT_TRANSFORM, "Start-Ofs", 
+					10, 60, 120, 20, &last_seq->startofs, 
+					0.0, last_seq->len - last_seq->endofs, 
+					0.0, 0.0, "Start offset");
+				uiDefButI(block, NUM, 
+					B_SEQ_BUT_TRANSFORM, "End-Ofs", 
+					130, 60, 120, 19, &last_seq->endofs, 
+					0.0, last_seq->len - last_seq->startofs, 
+					0.0, 0.0, "End offset");
+			}
 		}
 	}
 
@@ -1121,6 +1128,8 @@
 		break;
 	case B_SEQ_BUT_TRANSFORM:
 		calc_sequence(last_seq);
+		if (test_overlap_seq(last_seq))
+			shuffle_seq(last_seq);
 		break;
 	}
 

Modified: trunk/blender/source/blender/src/editipo.c
===================================================================
--- trunk/blender/source/blender/src/editipo.c	2008-01-15 20:42:00 UTC (rev 13252)
+++ trunk/blender/source/blender/src/editipo.c	2008-01-15 21:44:09 UTC (rev 13253)
@@ -1052,8 +1052,10 @@
 					if(ob->action) {
 						if(ob->flag & OB_POSEMODE) {
 							bPoseChannel *pchan= get_active_posechannel(ob);
-							if(pchan)
+							if(pchan) {
 								BLI_strncpy(actname, pchan->name, 32);
+								BLI_strncpy(bonename, pchan->name, 32);
+							}
 						}
 						else if(ob->ipoflag & OB_ACTION_OB)
 							strcpy(actname, "Object");

Modified: trunk/blender/source/blender/src/editseq.c
===================================================================
--- trunk/blender/source/blender/src/editseq.c	2008-01-15 20:42:00 UTC (rev 13252)
+++ trunk/blender/source/blender/src/editseq.c	2008-01-15 21:44:09 UTC (rev 13253)
@@ -111,9 +111,6 @@
 
 #define SEQ_DESEL	~(SELECT+SEQ_LEFTSEL+SEQ_RIGHTSEL)
 
-static int test_overlap_seq(Sequence *);
-static void shuffle_seq(Sequence *);
-
 typedef struct TransSeq {
 	int start, machine;
 	int startstill, endstill;
@@ -537,7 +534,7 @@
 	}
 }
 
-static int test_overlap_seq(Sequence *test)
+int test_overlap_seq(Sequence *test)
 {
 	Sequence *seq;
 	Editing *ed;
@@ -560,7 +557,7 @@
 	return 0;
 }
 
-static void shuffle_seq(Sequence *test)
+void shuffle_seq(Sequence *test)
 {
 	Editing *ed;
 	Sequence *seq;





More information about the Bf-blender-cvs mailing list