[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