Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2012-05-16 20:28:33 +0400
committerCampbell Barton <ideasman42@gmail.com>2012-05-16 20:28:33 +0400
commitbd45c0008ce7674a05f910c4c80c2f4fa44e9b5d (patch)
treee2c45de59f409fe49b081e4d5b48635c06ce5cc1 /source/blender/editors
parent04bc61a0d58267d3018b478b79fbd09e5920b629 (diff)
evil mango feature, alt transform sequence strips bumps other strips out of the way
Diffstat (limited to 'source/blender/editors')
-rw-r--r--source/blender/editors/transform/transform_conversions.c40
1 files changed, 40 insertions, 0 deletions
diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c
index c4db85420ca..c9eb975cb77 100644
--- a/source/blender/editors/transform/transform_conversions.c
+++ b/source/blender/editors/transform/transform_conversions.c
@@ -4054,7 +4054,47 @@ static void freeSeqData(TransInfo *t)
}
}
+#if 1 /* (mango hack! - for Ian) this is truely bad - should _never_ be in a release :| */
+ if (CTX_wm_window(t->context)->eventstate->alt) {
+ int minframe = MAXFRAME;
+ td= t->data;
+ seq_prev= NULL;
+ for (a=0; a<t->total; a++, td++) {
+ seq= ((TransDataSeq *)td->extra)->seq;
+ if ((seq != seq_prev)) {
+ minframe = MIN2(minframe, seq->startdisp);
+ }
+ }
+
+
+ for (seq= seqbasep->first; seq; seq= seq->next) {
+ if (!(seq->flag & SELECT)) {
+ if (seq->startdisp >= minframe) {
+ seq->machine += MAXSEQ * 2;
+ }
+ }
+ }
+
+ shuffle_seq_time(seqbasep, t->scene);
+
+ for (seq= seqbasep->first; seq; seq= seq->next) {
+ if (seq->machine >= MAXSEQ * 2) {
+ seq->machine -= MAXSEQ * 2;
+ seq->tmp= (void*)1;
+ }
+ else {
+ seq->tmp= NULL;
+ }
+ }
+
+ shuffle_seq_time(seqbasep, t->scene);
+ }
+ else {
+ shuffle_seq_time(seqbasep, t->scene);
+ }
+#else
shuffle_seq_time(seqbasep, t->scene);
+#endif
if (has_effect) {
/* update effects strips based on strips just moved in time */