From bd45c0008ce7674a05f910c4c80c2f4fa44e9b5d Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 16 May 2012 16:28:33 +0000 Subject: evil mango feature, alt transform sequence strips bumps other strips out of the way --- .../editors/transform/transform_conversions.c | 40 ++++++++++++++++++++++ 1 file changed, 40 insertions(+) (limited to 'source/blender/editors') 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; atotal; 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 */ -- cgit v1.2.3