diff options
author | Campbell Barton <ideasman42@gmail.com> | 2009-12-09 19:46:41 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2009-12-09 19:46:41 +0300 |
commit | 00b8e65f0aaefc34c91bdfee7f31233bb313f312 (patch) | |
tree | 6e500c447dbe5a2c3e88f835dd2395e83a55514f /source/blender/editors/transform/transform_conversions.c | |
parent | 2cc8ef127e1a626f4517c8a0ee9f555fb8b66758 (diff) |
very very bad hack to have sequencer strips fcurve data transform with them.
ifdef'd so its not kept in by accident.
Committing because without this animating with the sequencer isnt really usable and am not interensted in having many patches applied on artists systems.
Diffstat (limited to 'source/blender/editors/transform/transform_conversions.c')
-rw-r--r-- | source/blender/editors/transform/transform_conversions.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c index 37e56874044..0840d709ef8 100644 --- a/source/blender/editors/transform/transform_conversions.c +++ b/source/blender/editors/transform/transform_conversions.c @@ -2346,6 +2346,7 @@ void flushTransNodes(TransInfo *t) } /* *** SEQUENCE EDITOR *** */ +#define XXX_DURIAN_ANIM_TX_HACK void flushTransSeq(TransInfo *t) { ListBase *seqbasep= seq_give_editing(t->scene, FALSE)->seqbasep; /* Editing null check alredy done */ @@ -2374,6 +2375,13 @@ void flushTransSeq(TransInfo *t) if (seq->type != SEQ_META && (seq->depth != 0 || seq_tx_test(seq))) /* for meta's, their children move */ seq->start= new_frame - tdsq->start_offset; +#ifdef XXX_DURIAN_ANIM_TX_HACK + if (seq->type != SEQ_META && seq != seq_prev) { + int ofs = (new_frame - tdsq->start_offset) - seq->start; + seq_offset_animdata(t->scene, seq, ofs); + } +#endif + if (seq->depth==0) { seq->machine= (int)floor(td2d->loc[1] + 0.5f); CLAMP(seq->machine, 1, MAXSEQ); @@ -3828,6 +3836,19 @@ static short constraints_list_needinv(TransInfo *t, ListBase *list) */ static void SeqTransInfo(TransInfo *t, Sequence *seq, int *recursive, int *count, int *flag) { + +#ifdef XXX_DURIAN_ANIM_TX_HACK + /* hack */ + if((seq->flag & SELECT)==0 && seq->type & SEQ_EFFECT) { + Sequence *seq_t[3] = {seq->seq1, seq->seq2, seq->seq3}; + int i; + for(i=0; i<3; i++) { + if (seq_t[i] && ((seq_t[i])->flag & SELECT) && !(seq_t[i]->flag & SEQ_LOCK) && !(seq_t[i]->flag & (SEQ_LEFTSEL|SEQ_RIGHTSEL))) + seq->flag |= SELECT; + } + } +#endif + /* for extend we need to do some tricks */ if (t->mode == TFM_TIME_EXTEND) { |